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

原码 反码 补码

时间:2017-05-25 01:16:37      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:bsp   方法   nbsp   strong   table   操作   按位取反   本质   原码   

0,计算机存储负值以补码形式存储。

1,正数的 原码,反码,补码都一样。

2,负数的反码:符号位不变,其他位按位取反; 负数的补码:此负数的反码 +1;

3, 补码的补码 是原码。由补码推导原码两种方法:1,对此补码求补码,2,此补码 -1然后按位取反(符号位除外)

4,按位非操作的本质:操作数的负值减一。自己推导如下:

  正数:

2 00000010  11111101  10000010  10000011
  A   B      D C


    ~A=B(负值的补码,也即是计算机存储负值的形式)
    B按位取反(符号位不变) =D(D=-A)
    D+ 1 = C(负值的原码) [实际上是D-1=C]
    即C=D-1=-A-1

  负数:由补码的补码=原码  => 补码取反(符号位不变为仍1) + 1 = 原码=> 补码取反 = 原码-1 =>补码取非 = -(原码 - 1).

原码 反码 补码

标签:bsp   方法   nbsp   strong   table   操作   按位取反   本质   原码   

原文地址:http://www.cnblogs.com/everest33Tong/p/6901582.html

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