計算機導論原碼補碼講解?在計算機内,定點數有3種表示法:原碼、反碼和補碼,接下來我們就來聊聊關于計算機導論原碼補碼講解?以下内容大家不妨參考一二希望能幫到您!
在計算機内,定點數有3種表示法:原碼、反碼和補碼
所謂原碼就是前面所介紹的二進制定點表示法,即最高位為符号位,“0”表示正,“1”表示負,其餘位表示數值的大小。
反碼表示法規定:正數的反碼與其原碼相同;負數的反碼是對其原碼逐位取反,但符号位除外。 補碼表示法規定:正數的補碼與其原碼相同;負數的補碼是在其反碼的末位加1。
正數的反碼和補碼都是和原碼相同
負數案例:
負數的反碼是将其原碼除符号位之外的各位求反
[-3]反=[10000011] 反=11111100
負數的補碼是将其原碼除符号位之外的各位求反之後在末位再加1。
[-3]補=[10000011] 補=11111101
一個數和它的補碼是可逆的。
為什麼有了原碼還要設計反碼和補碼?計算機隻會加法不會減法!!!
計算機隻會加法不會減法!!!
計算機隻會加法不會減法!!!
所以兩個數的減法可以看成一個正數加一個負數,如果運算時将符号位和數據位隔開單獨運算,運算規則是十分複雜的。為了讓減法計算更簡單我們希望在計算時連同符号位一起運算。于是便有了反碼,比如下面的運算
1-1=【00000001】 【11111110】=【11111111】原碼為【10000000】代表-0,如果用反碼運算這裡0産生兩個結果
當然你算其他的減法也會出錯
于是便有了補碼
1-1=【00000001】 【11111111】=【00000000】完美解決了上面的問題
再來試一下
5-3=【00000101】 【11111101】=【00000010】
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!