-32768的补码是多少?这次终于清楚了!
辛集电子:
谢谢您的评论,也看了您的博客,确实很硬核。
我会在此博客中标注。
-32768的补码是多少?这次终于清楚了!
做而论道_CS:
四位二进制数范围是:0 ~ 15
8 ~ 15,就是:-8 ~ -1。
0 ~ 7,还是它们自己。
那么,7 + 1 = 8,这就成了:-8。
-32768的补码是多少?这次终于清楚了!
做而论道_CS:
四位二进制数,就是:0 ~ 15
有了进位,就是:2^4 = 16。
那么,加上 8 ~ 15,再舍弃进位,就是:-8 ~ -1。
但是,加上 0 ~ 7,并不会产生进位。
即使舍弃进位,也就是减去一个 0。
所以,它们也就不会有负数的表现。
如果是八位二进制数呢?
范围就是 0 ~ 255,进位就是 2^8 = 256。
那么,128 ~ 255,就是:-128 ~ -1。
此外,0 ~ 127,就只能是:它们本身。
这就是计算机专家所编造的 “补码” 了。
例如:-31 的八位补码是多少?
题解:256-31 = 225 = 1110 0001。
完事!
哪里还能用到:原码反码取反加一!
所谓的补码,并非是什么什么码。
它们,都是正常的数字。
你舍弃了进位:
正数,就能负数,
加法,就能完成减法运算!
因此,计算机中的硬件,就能简化。
关键问题是:舍弃进位!
并不是什么:机器数真值符号位原码反码取反加一符号位不变正零负零符号位也参加运算。。。
你跟着老外学算术,立刻、马上,直接就掉沟里去了!
-32768的补码是多少?这次终于清楚了!
做而论道_CS:
就说四位二进制数吧。
四位数范围是:0000 ~ 1111。
相当于十进制:0 ~ 15。
出现进位,即:2^4 = 16。
这些数中,既没有小数点,也没有符号位。
它们,都是正整数!
计算机砖家就给它们编造了一个名称:无符号数。
计算机中有个加法器,其运算规则是:逢二进一。
找两个无符号数相加,列竖式如下:
0 1 0 1 = 5
+1 1 1 1 = 15
-----------
进 1、0 1 0 0 = 16 + 4 = 20
这就是 “无符号数” 的加法:
5 + 15 = 16 + 4 = 20。
计算完全正确!
-----------------
但是,如果你忽略了进位呢?
(或者说:故意舍弃了进位。)
这就少算了 16 !
那么就是:5 + 15-16 = 5-1 = 4。
此时的 +15,就相当于-1 了!
为什么是-1 ?
因为你:舍弃了进位,少算了 16。
所以有:+15-16 = -1。
加法的竖式,依然如下:
0 1 0 1 = 5
+1 1 1 1 = 15 (=-1)
-----------
略掉、0 1 0 0 = 4
但是,此时,这可就是【减法运算】了。
你看吧,本来是两个 “无符号数” 相加,
丢了进位,就变成了 “有符号数” 相减!
由此可知,数,只有一种数。
并没有什么: “有符号数、无符号数”!
二进制数,也就是普通的数字!
只是因为你 “弄丢了进位”,才会出来 “负数” 和 “减法”。
-32768的补码是多少?这次终于清楚了!
做而论道_CS:
-32768,数值太大,位数太多。
不如,讨论一下:-8。
理论,是相同的。