原码、补码、反码、1的补码
?
| (1)原碼表示法 ????原碼表示法是機器數的一種簡單的表示法。其符號位用0表示正號,用:表示負號,數值一般用二進制形式表示。設有一數為x,則原碼表示可記作[x]原。 ????例如,X1=?+1010110 ????????? X2=?一1001010 ????其原碼記作: ????????????[X1]原=[+1010110]原=01010110 ????????????[X2]原=[-1001010]原=11001010 ????原碼表示數的范圍與二進制位數有關。當用8位二進制來表示小數原碼時,其表示范圍: ??????最大值為0.1111111,其真值約為(0.99)10 ??????最小值為1.1111111,其真值約為(一0.99)10 當用8位二進制來表示整數原碼時,其表示范圍: ??????最大值為01111111,其真值為(127)10 ??????最小值為11111111,其真值為(-127)10 ??????在原碼表示法中,對0有兩種表示形式: ??????????[+0]原=00000000 ?????????? [-0]原=10000000
|
?
| (2)補碼表示法 ????機器數的補碼可由原碼得到。如果機器數是正數,則該機器數的補碼與原碼一樣;(轉自:圖碼網)如果機器數是負數,則該機器數的補碼是對它的原碼(除符號位外)各位取反,并在未位加1而得到的。設有一數X,則X的補碼表示記作[X]補。 ??????例如,[X1]=+1010110 ??????????? [X2]=?一1001010 ??? ????????[X1]原=01010110 ??????????? [X1]補=01010110 ????即????? [X1]原=[X1]補=01010110 ??????????? [X2]原= 11001010 ??????????? [X2]補=10110101+1=10110110 ????補碼表示數的范圍與二進制位數有關。當采用8位二進制表示時,小數補碼的表示范圍: ??????最大為0.1111111,其真值為(0.99)10 ??????最小為1.0000000,其真值為(一1)10 采用8位二進制表示時,整數補碼的表示范圍: ??????最大為01111111,其真值為(127)10 ??????最小為10000000,其真值為(一128)10 ??????在補碼表示法中,0只有一種表示形式: ??????? [+0]補=00000000 ??????? [+0]補=11111111+1=00000000(由于受設備字長的限制,最后的進位丟失) 所以有[+0]補=[+0]補=00000000
|
?
| (3)反碼表示法 ????機器數的反碼可由原碼得到。如果機器數是正數,則該機器數的反碼與原碼一樣;如果機器數是負數,則該機器數的反碼是對它的原碼(符號位除外)各位取反而得到的。設有一數X,則X的反碼表示記作[X]反。 ????例如:X1=?+1010110 ????????? X2=?一1001010 ????????[X1]原=01010110 ???????? [X1]反=[X1]原=01010110 ???????? [X2]原=11001010 ???????? [X2]反=10110101 ????反碼通常作為求補過程的中間形式,即在一個負數的反碼的未位上加1,就得到了該負數的補碼。 例1.?已知[X]原=10011010,求[X]補。 分析如下: 由[X]原求[X]補的原則是:若機器數為正數,則[X]原=[X]補;若機器數為負數,則該機器數的補碼可對它的原碼(符號位除外)所有位求反,再在未位加1而得到。現給定的機器數為負數,故有[X]補=[X]原十1,即 ????????? [X]原=10011010 ????????? [X]反=11100101 ?????十)? ??? 1?????
????????? [X]補=11100110 ?
例2.?已知[X]補=11100110,求[X]原。 ?????????分析如下: ?????對于機器數為正數,則[X]原=[X]補 ?????對于機器數為負數,則有[X]原=[[X]補]補 現給定的為負數,故有: ????????????[X]補=11100110 ????????[[X]補]反=10011001 ??????????????十)???????? 1???
????????[[X]補]補=10011010=[X]原 |
轉載于:https://www.cnblogs.com/hewenwu/articles/3615102.html
總結
以上是生活随笔為你收集整理的原码、补码、反码、1的补码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 思考ANDROID架构(4):HOW-T
- 下一篇: mysql常用管理命令