首页 > 其他分享 >进制转换和原码、反码、补码

进制转换和原码、反码、补码

时间:2024-01-23 18:58:32浏览次数:32  
标签:十六进制 反码 进制 二进制 补码 对应 八进制 十进制 原码

进制转换

进制介绍

进制转换

第一组:其它进制 —> 十进制

二进制转十进制

八进制转十进制

十六进制转十进制

第二组:十进制 —> 其它进制

十进制转二进制

规则: 将该数不断除以 2, 直到商为 0 为止, 然后将每步得到的余数倒过来, 就是对应的二进制。

十进制转八进制

规则: 将该数不断除以 8, 直到商为 0 为止, 然后将每步得到的余数倒过来, 就是对应的八进制。

十进制转十六进制

规则: 将该数不断除以 16, 直到商为 0 为止, 然后将每步得到的余数倒过来, 就是对应的十六进制。

第三组:二进制 —> 其它进制

二进制转八进制

规则: 从低位开始,将二进制数每三位一组, 转成对应的八进制数即可。

二进制转十六进制

规则: 从低位开始, 将二进制数每四位一组, 转成对应的十六进制数即可。

第四组:其它进制 —> 二进制

八进制转二进制

规则: 将八进制数每 1 位, 转成对应的一个 3 位的二进制数即可。

十六进制转二进制

规则: 将十六进制数每 1 位, 转成对应的 4 位的一个二进制数即可。

标签:十六进制,反码,进制,二进制,补码,对应,八进制,十进制,原码
From: https://www.cnblogs.com/xxm163/p/17983137

相关文章

  • 关于二进制的原码、补码和反码,以及表示范围、常见位运算符和进制转换的理解与简述
    【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)https://www.cnblogs.com/cnb-yuchen/p/17963363出自【进步*于辰的博客】参考笔记一,P3.13、P5.1;笔记三,P43.1/3、P44.1。注:我暂且没有整理关于二进制、原码、补码和反码等概念的理论,本文中的阐述都基于我对相应......
  • 运算符--原码、反码、补码
    运算符--原码、反码、补码原码:十进制数据的二进制表现形式,最左边是符号位,0为正,1为负。利用原码对正数进行计算是不会有问题的。但如果是负数计算,结果就出错,实际运算的结果,跟我们预期的结果是相反的。原码的弊端:利用原码进行计算的时候,如果是正数完全没有问题。但是如果是......
  • 位运算(原码,反码,补码)
    免责声明:java基础资料均来自于韩顺平老师的《循序渐进学Java零基础》教案,具体视频内容可以去B站观看,这些资料仅用于学习交流,不得转载用于商业活动1.位运算1.1原码,反码,补码对有符号的数而言:二进制的最高位是符号位:0表示正数,1表示负数(0->01->-)正数的原码,反码,补码都一样(三码......
  • 原码、反码、补码再探
    原码、反码、补码再探概述三个计算机用来表达负数的形式。原码通过第一位的\(0\)来直接表示正数,\(1\)来直接表示负数。然而计算机并不用这种方式。反码即把要表示的负数的绝对值对应的二进制全部取反来表示。坏处是\(0\)有两种表达方式,全\(0\)和全\(1\),所以......
  • 补码减法与溢出
    已知二进制数x=-0.11011,y=0.10101,用补码计算x-y,同时指出运算结果是否溢出。(设字长8位)。如何求负的小数的二进制补码?负的小数的二进制补码可以通过以下步骤求得:将小数部分转换为二进制形式。将整数部分和小数部分合并为原码。将原码取反得到反码。对反码加1得到补码。二进......
  • 补码表示法
    所谓的补码表示法,它是有符号整数最常用的二进制表示法。对正数求反码(即对每个位进行NOT运算),然后加1,舍弃MSB的任何进位,就可以得到这个数字的负数。表示+1的0001的反码是1110,加1就可以得到表示–1的1111。同理,+2是0010,它的反码是1101,再加1就可以得到表示–2的1110。......
  • 补码反码
    #include<bits/stdc++.h>usingnamespacestd;intmain(){boolTGDCN=true;strings;stringa;cin>>s;a=s;if(s[0]=='0'){cout<<s;}else{for(inti=1;i<s.size();......
  • 原码--转--反码--补码
    #include<bits/stdc++.h>usingnamespacestd;intmain(){ stringa; cin>>a; intn=a.size(); if(a[0]=='0'){ cout<<a; }else{ for(inti=1;i<=a.size();i++){ if(a[i]=='1'){ a[i]='0'; }else{......
  • 原码转补码反码
    #include<bits/stdc++.h>usingnamespacestd;stringa;intc=0;voidfam(){ if(a[0]=='0'){ cout<<a; }else{ cout<<'1'; for(inti=1;i<a.size();i++){ if(a[i]=='0'){ cout<<'1';......
  • 原码转反补码
    #include<iostream>usingnamespacestd;intmain(){ stringstr; chart; booljinwei=true; booltf; cin>>str>>t; if(str[0]=='0'&&t=='f'){ cout<<str; }elseif(str[0]=='1'&&t==&#......