原碼反碼補碼的運算?一個數在計算機中的二進制表示形式, 叫做這個數的機器數機器數是帶符号的,在計算機用一個數的最高位存放符号, 正數為0, 負數為1.,下面我們就來說一說關于原碼反碼補碼的運算?我們一起去了解并探讨一下這個問題吧!
一個數在計算機中的二進制表示形式, 叫做這個數的機器數。機器數是帶符号的,在計算機用一個數的最高位存放符号, 正數為0, 負數為1.
1. 原碼
原碼就是符号位加上真值的絕對值, 即用第一位表示符号, 其餘位表示值. 比如如果是8位二進制:
[ 1]原 = 0000 0001[-1]原 = 1000 0001
2. 反碼
反碼的表示方法是:
正數的反碼是其本身
負數的反碼是在其原碼的基礎上, 符号位不變,其餘各個位取反.
[ 1] = [00000001]原 = [00000001]反[-1] = [10000001]原 = [11111110]反
3. 補碼
補碼的表示方法是:
正數的補碼就是其本身
負數的補碼是在其原碼的基礎上, 符号位不變, 其餘各位取反, 最後 1. (即在反碼的基礎上 1)
[ 1] = [00000001]原 = [00000001]反 = [00000001]補[-1] = [10000001]原 = [11111110]反 = [11111111]補
為何會有反碼和補碼呢?
首先, 因為人腦可以知道第一位是符号位, 在計算的時候我們會根據符号位, 選擇對真值區域的加減. (真值的概念在本文最開頭). 但是對于計算機, 加減乘數已經是最基礎的運算, 要設計的盡量簡單. 計算機辨别"符号位"顯然會讓計算機的基礎電路設計變得十分複雜! 于是人們想出了将符号位也參與運算的方法. 我們知道, 根據運算法則減去一個正數等于加上一個負數, 即: 1-1 = 1 (-1) = 0 , 所以機器可以隻有加法而沒有減法, 這樣計算機運算的設計就更簡單了.
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!