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

日期:2021-10-16 分類:綜合百科 投稿:yangang

最佳答案 補碼是計算機方便加法運算的編碼。所以100的16進位制數是64H以8位二進位制來說64H=01100100B正數的補碼和原碼相同。109的補碼就是10010011(反碼加1)。

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

計算機中的負數是為了方便運算,所以計算機才會採用補碼儲存資料。補碼是計算機方便加法運算的編碼。例如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)。現在運算100-109=100+(-109)。01100100+10010011=11110111這個結果就是-9的補碼。如果換成其他編碼運算就不會這麼簡單了。

例1653如原碼相加的話存在符號位進位的問題等等。對於計算機而言。數值的計算補碼是最方便的。