• 补码

 计算机是按照补码的形式存数字的。int32位补码形式的最大值2^31-1,最小值-2^31。

  1. 如果是011111...1111一共31个1,正数的补码还是他本身,所以最大值是2^31-1

  2. 如果是11111..111一共32个1,第一个1表示负号,其补码形式是符号位不变,数值部分取反加1,得10000000...00其中31个0,这个数是2^31,其中有个-1号,所以是-2^31.(附加部分有详细操作)

  • 补充1000...000其中31个0,不是0的补码,而是1111...111其中32个1的补码,0的补码是000...000包含32个0

  • 原码

原码就没什么可说的了。就是起始位有个0或1表示正负号,剩下的是数值部分。

  • 反码 

反码实在原码基础上操作的,符号位不变,数值部分取反即可得到反码(附加部分有详细操作)。

  • 附加

  1. 一个正整数,当用原码,反码,补码表示时,符号位都固定为1,用二进制表示的数位值都相同,即三种表示方法都一样。

  2. 一个负数,当用原码,反码,补码表示时,符号位都固定为1,用二进制表示的数位都不相同。此时由原码表示法变成补码表示法规则如下

  •  原码符号位1不变,整数的每一位二进制数位求反得到反码

  •  反码符号位为1不变,反码数值位最低位加1,得到补码。

源码&&反码&&补码&&二进制十进制小数部分的转化(如有错误,欢迎大家指出)

  •  进制转化 

  • 二进制小数部分转化为十进制时,权值的为负次幂。
  • 十进制小数部分转化为二进制时,乘2取整。

源码&&反码&&补码&&二进制十进制小数部分的转化(如有错误,欢迎大家指出)

相关文章:

  • 2021-04-24
  • 2022-12-23
  • 2021-10-15
  • 2022-12-23
  • 2022-12-23
  • 2021-12-16
猜你喜欢
  • 2021-12-07
  • 2021-12-10
  • 2022-12-23
  • 2022-03-06
  • 2021-08-25
  • 2021-11-30
  • 2021-11-18
相关资源
相似解决方案