码迷,mamicode.com
首页 > 其他好文 > 详细

关于原码,反码和补码

时间:2020-03-22 10:32:54      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:border   转换问题   height   order   负数   64位   换问题   符号位   默认   

原码、反码、补码

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

关于原码,反码和补码

标签:border   转换问题   height   order   负数   64位   换问题   符号位   默认   

原文地址:https://www.cnblogs.com/Pengfei-Liu/p/12544240.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!