原碼, 反碼, 補碼的基礎概念和計算方法.

二. 原碼, 反碼, 補碼的基礎概念和計算方法.

在探求爲什麼機器要使用補碼以前, 讓咱們先了解原碼, 反碼和補碼的概念.對於一個數, 計算機要使用必定的編碼方式進行存儲. 原碼, 反碼, 補碼是機器存儲一個具體數字的編碼方式.編碼

1. 原碼

原碼就是符號位加上真值的絕對值, 即用第一位表示符號, 其他位表示值. 好比若是是8位二進制:spa

[+1] = 0000 0001class

[-1] = 1000 0001基礎

第一位是符號位. 由於第一位是符號位, 因此8位二進制數的取值範圍就是:二進制

[1111 1111 , 0111 1111]方法

計算機

[-127 , 127]di

原碼是人腦最容易理解和計算的表示方式.co

2. 反碼

反碼的表示方法是:block

正數的反碼是其自己

負數的反碼是在其原碼的基礎上, 符號位不變,其他各個位取反.

[+1] = [00000001] = [00000001]

[-1] = [10000001] = [11111110]

可見若是一個反碼錶示的是負數, 人腦沒法直觀的看出來它的數值. 一般要將其轉換成原碼再計算.

3. 補碼

補碼的表示方法是:

正數的補碼就是其自己

負數的補碼是在其原碼的基礎上, 符號位不變, 其他各位取反, 最後+1. (即在反碼的基礎上+1)

[+1] = [00000001] = [00000001] = [00000001]

[-1] = [10000001] = [11111110] = [11111111]

對於負數, 補碼錶示方式也是人腦沒法直觀看出其數值的. 一般也須要轉換成原碼在計算其數值.

相關文章
相關標籤/搜索