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

补码的非

时间:2014-11-30 18:36:51      阅读:269      评论:0      收藏:0      [点我收藏+]

标签:des   cWeb   io   ar   os   使用   sp   for   on   

读〈深入理解计算机系统〉2.3.3 - 补码的非,有所思,录于此

话总得有个头吧,这个头就是我想知道,补码的非,这种算法用途在什么地方

先看“补码的非”定义:
bubuko.com,布布扣
上面是原书的截图,此处设w=4,用补码可表示的范围就是[-8,7],对于-8,它的“补码的非”还是-8,而[-7,7]补码的非就是原数的负数,比如说-4的“补码的非”是-4取负,即:4,而3的“补码的非”是3取负,即:-3。这是“补码的非”的定义;注意:“补码的非”并不是把“一个数的补码按位取非”,但是呢,“补码的非” 跟 “一个数的补码按位取非” 有些特殊的关系,可以利用这种特殊的关系来快速计算一个数的“补码的非”,原文列举了两种方法来根据“一个数的补码按位取非”求得此数“补码的非”,截图如下:
bubuko.com,布布扣

那么问题来了,学挖掘机哪家强?

跑题了......
梳理一下,一个数A,它的“补码的非”,知道是怎么一回事了,也会根据“A的补码,按位取非”结合上面说的两种方法来快速求得“A的,补码的非”,而,在计算机中,通常是使用补码来表示一个数,所以我们可以得到:将A按位取非,然后用上面说的某一种方法来求得A的“补码的非”,再根据“A的,补码的非”从而求得A,兜了这么一个大圈子,就是为了在调试程序的时候,能快速计算出其二进制补码所表示的十进制数值是多少!上面的截图中就提到了,你看到0xfffffffa的时候,可以计算出它是十进制数-6的补码表示,当然了,从-6转成0xfffffffa比较简单,而从0xfffffffa转成-6就相对复杂一点了

在计算机的世界中,就是01的序列,对这些序列以不同的方式进行解读,那么得到的结果就也会不同,妈蛋,又联想到了易经上面的阴阳以及64挂

补码的非

标签:des   cWeb   io   ar   os   使用   sp   for   on   

原文地址:http://www.cnblogs.com/emyueguang/p/4133422.html

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