关于原码,反码和补码

Posted pengfei-liu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于原码,反码和补码相关的知识,希望对你有一定的参考价值。

原码、反码、补码

1.所有数字在计算机底层都是以二进制的形式存在的

2.计算机以补码的形式保存所有整数。

  • 正数的原码,反码和补码都相同
  • 负数的补码=其反码+1

3.原码:直接将一个数值换成二进制数。

4.反码:是对原码按位取反,只是最高位(符号位)确定为1.

5.符号位正数位为0,负数为1

6.Java整数常量默认是int类型,当用二进制定义正数时,其第32位是符号位;当是long类型时,二进制默认占64位,第64位时符号位。

ps:关于进制转换问题由读者自行学习

例:对byte b=13的转换示例

 

13原码、反码、补码都相同

符号位 0 0 0 0 1 1 0 1

 

 -13原码:

符号位 1 0 0 0 1 1 0 1

-13反码:

符号位 1 1 1 1 0 0 1 0

-13补码(即为-13在计算机底层的存储格式)

符号位 1 1 1 1 0 0 1 1

以上是关于关于原码,反码和补码的主要内容,如果未能解决你的问题,请参考以下文章

关于原码反码补码以及位元算

原码反码补码

一个数的原码,反码,补码怎么算

原码反码补码与位运算

如何理解二进制原码,反码,补码,二进制补码运算

原码反码补码