关于原码,反码和补码
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 |
以上是关于关于原码,反码和补码的主要内容,如果未能解决你的问题,请参考以下文章