为什么计算机存储的是二进制补码?
原碼:
最高位為符號(hào)位。。0代表正數(shù) 1 代表負(fù)數(shù)
+1:0000 0001
-1:1000 0001
+0:0000 0000
-0: 1000 0000
問題:
1.0這個(gè)數(shù)值在存儲(chǔ)的時(shí)候,有2種存儲(chǔ)方式
2.正數(shù)和負(fù)數(shù)相加的時(shí)候,結(jié)果不是我們所算出的結(jié)果(在計(jì)算機(jī)里面,只能做加法運(yùn)算)
1-1 = 1 + -1
1: 0000 0001
-1:1000 0001
加法:10000010 = -2
反碼:符號(hào)位不變,其他位進(jìn)行0和1的對(duì)換(為補(bǔ)碼做鋪墊)
結(jié)論:正數(shù)的反碼和原碼、補(bǔ)碼是一樣的
+1 :0000 0001
-1 : 1000 0001
+0:0000 0000
-0: 1000 0000
-0的反碼:1111 1111
反碼
+1 : 0000 0001
-1 :1111 1110
加法運(yùn)算 :1111 1111 = -0
解決:加法運(yùn)算的結(jié)果問題
0的存儲(chǔ)沒有解決
補(bǔ)碼:
1.補(bǔ)碼就是在反碼的基礎(chǔ)上加1;
2.正數(shù)的反碼和原碼、補(bǔ)碼是一樣的
+1 :0000 0001
-1 :1000 0001
???? 1111 1110
???? 1111 1111
-0: 1000 0000
???? 1111 1111
??? 10000 0000
做加法:+1 + -1(補(bǔ)碼)
?0000 0001
?1111 1111
????? 10000 0000?-0
+0 : 0000 0000
-0 : 0000 0000??
結(jié)論:解決了0的存儲(chǔ)問題
最終:計(jì)算機(jī)的數(shù)據(jù)存儲(chǔ)時(shí)以補(bǔ)碼的方式進(jìn)行存儲(chǔ)。
轉(zhuǎn)載于:https://www.cnblogs.com/wangjinshan/p/7056414.html
總結(jié)
以上是生活随笔為你收集整理的为什么计算机存储的是二进制补码?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 内置函数与匿名函数
- 下一篇: 安装elasticsearch5.4.1