原碼是什么
原碼(true form)是一種計算機中對數字的二進制定點表示方法。原碼表示法在數值前面增加了一位符號位(即最高位為符號位):正數該位為0,負數該位為1(0有兩種表示:+0和-0),其余位表示數值的大小。
原碼不能直接參加運算,可能會出錯。例如數學上,1+(-1)=0,而在二進制中00000001 + 10000001 = 10000010,換算成十進制為-2。顯然出錯了。
如何將十進制的-3 轉換成二進制數
首先 取得-3的絕對值 +3
十進制數怎么換算成二進制呢 方法如:
3/2 1余1
1/2 0余1
得到的余數 從到上 得到11 補全32位 得到 0000 0000 0000 0000 0000 0000 0000 0011
+3的二進制數int類型(32位) 是 0000 0000 0000 0000 0000 0000 0000 0011 下面開始正題
第一步 得到-3的原碼 也就是+3的二進制數 如上
第二步 得到反碼 1111 1111 1111 1111 1111 1111 1111 1100 (0變1 1變0)
第三步 得到補碼 給反碼+1 得到 1111 1111 1111 1111 1111 1111 1111 1101
-3的二進制數就是上面這個咯
32位二進制 11111111111111111111111111111001 十進制值是什么?
11111111111111111111111111111001
如上,二進制長度為32位,也就是這個整數是一個負數,先取反,得到反碼:
00000000000000000000000000000110
反碼+1,得到:
00000000000000000000000000000111
轉換成十進制:7
由於是負數,所以加個負號,轉換成 -7