天天看點

計算機組成原理補碼轉源碼,計算機組成原理:真值,原碼,補碼,反碼,移碼...

一,真值

就是現實中的數字(二進制)必須有+/-,實際中整數舍棄了+。spa

eg:+1101010001 -1010001111

二,原碼

計算機中惟一辨別一個真值,可是不能用于計算以及沒法實作減法,會産生二異性(+0,-0)code

求法:正數的原碼是其補全位數後前面加0,負數的原碼是是其補齊位數後去掉-,在前面加1blog

eg:

真值:+10000101 -10101100

原碼:010000101 110101100

三,補碼

用于解決計算機沒法實作減法以及原碼的沒法惟一辨別class

求法:正數的補碼是其補全位數後前面加0,負數的補碼是是真數去掉-,從右到左找到第一個1左邊取反,在前面加1原理

eg:

真值:+1010111 -1110101 -101010100

補碼:01010111 10001011 1010101100

四,反碼

到目前為止我還不知道有啥用-過渡反正我覺的很雞肋二進制

求法:真值的反碼是其補全位數後前面加0,負數的反碼是其補碼-1im

eg:

真值:+1010111 -1110101 -101010100

反碼:01010111 10001010 1010101011

五,移碼

用于解決補碼沒法比較大小的做用總結

求法:補碼符号位取反db

eg:

真值:10100 -10100

移碼:1,10100 0,01100

計算機組成原理補碼轉源碼,計算機組成原理:真值,原碼,補碼,反碼,移碼...

六,特殊碼(負數+臨界)求法(定義法)

eg: 10000000(補碼)

-128(真值)

1,補碼1開頭,确認負數 100000000

2,真值=補碼-2^n+1(n為整數位數) 100000000-2^(7+1)= -1000000000 = -100000000 = -128

10000000(原碼)

-0(真值)

1,10000000 = -0(真值)--- 直接變換

計算機組成原理補碼轉源碼,計算機組成原理:真值,原碼,補碼,反碼,移碼...
計算機組成原理補碼轉源碼,計算機組成原理:真值,原碼,補碼,反碼,移碼...

七,總結

1,若是真值大于0,其原碼,補碼,反碼都同樣img

2,本人所寫為本人認為最簡求法,省略了大部分原理,詳細請參考計算機組成原理