补码的零碎东西

Posted

tags:

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

补码的产生原因:10000000被规定成了-128
使用补码的原因:化减法为加法和避免-0
注意点:取反符号位不取反,但not符号位要去反;进位时符号位也要进位;10000000被规定了是-128;0的补码是0
补码反码的储存方式:计算机用$0000到$7FFF依次表示0到32767的数,剩下的$8000到$FFFF依次表示-32768到-1的数。32位有符号整数的储存方式也是类似的。稍加注意你会发现,二进制的第一位是用来表示正负号的,0表示正,1表示负。这里有一个问题:0本来既不是正数,也不是负数,但它占用了$0000的位置,因此有符号的整数类型范围中正数个数比负数少一个。对一个有符号的数进行not运算后,最高位的变化将导致正负颠倒,并且数的绝对值会差1。也就是说,not a实际上等于-a-1。这种整数储存方式叫做“补码”。
11111111+01111111=01111111-10000001(原)=-254
01111110:126
01111111:127
10000000:-128
10000001:-127
(不是因为补码的性质,10000000才是-128,而是-128创造出了补码)

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

使用 Android 陀螺仪代替加速度计。我发现很多零碎的东西,但没有完整的代码

寒假零碎的东西 不定时更新补充.......

arcpy 零碎知识

数据去重2---高性能重复数据检测与删除技术研究一些零碎的知识

单片机最小零碎[配图][超具体]

零碎知识点整理