計算機中的負數為什么用補碼存儲

計算機中的負數是為了方便運算,所以計算機才會采用補碼存儲數據 。補碼是計算機方便加法運算的編碼 。例如100(10進制)100/16=6余46/16=0余6 。所以100的16進制數是64H以8位二進制來說64H=01100100B正數的補碼和原碼相同 。
所以100的補碼還是01100100 。
另假設還有個數是-109109的16進制,是01101101-109的原碼,就是11101101(首位是符號位)-109的反碼,就是10010010(除了符號位其他各位分別取反) 。109的補碼就是10010011(反碼加1) ?,F在運算100-109=100 (-109) 。01100100 10010011=11110111這個結果就是-9的補碼 。如果換成其他編碼運算就不會這么簡單了 。
【計算機中的負數為什么用補碼存儲】例1653如原碼相加的話存在符號位進位的問題等等 。對于計算機而言 。數值的計算補碼是最方便的 。

相關經驗推薦