為什麽計算機存儲的是二進制補碼?
阿新 • • 發佈:2017-06-20
我們 方式 其他 2種 存儲 。。 問題: 數據存儲 基礎
原碼:
最高位為符號位。。0代表正數 1 代表負數
+1:0000 0001
-1:1000 0001
+0:0000 0000
-0: 1000 0000
問題:
1.0這個數值在存儲的時候,有2種存儲方式
2.正數和負數相加的時候,結果不是我們所算出的結果(在計算機裏面,只能做加法運算)
1-1 = 1 + -1
1: 0000 0001
-1:1000 0001
加法:10000010 = -2
反碼:符號位不變,其他位進行0和1的對換(為補碼做鋪墊)
結論:正數的反碼和原碼、補碼是一樣的
+1 :0000 0001
-1 : 1000 0001
+0:0000 0000
-0: 1000 0000
-0的反碼:1111 1111
反碼
+1 : 0000 0001
-1 :1111 1110
加法運算 :1111 1111 = -0
解決:加法運算的結果問題
0的存儲沒有解決
補碼:
1.補碼就是在反碼的基礎上加1;
2.正數的反碼和原碼、補碼是一樣的
+1 :0000 0001
-1 :1000 0001
1111 1110
1111 1111
-0: 1000 0000
1111 1111
10000 0000
做加法:+1 + -1(補碼)
0000 0001
1111 1111
10000 0000 -0
+0 : 0000 0000
-0 : 0000 0000
結論:解決了0的存儲問題
最終:計算機的數據存儲時以補碼的方式進行存儲。
為什麽計算機存儲的是二進制補碼?