1樓:做而論道
前提條件是,數字位數,是6位二進位制數。
範圍是:00 0000~11 1111,最大值是:31。模,就是:32,即 100 0000。
在6位二進位制數條件下,-16 的原碼、反碼,都不存在,求反加一,是不能用的。
補碼,有個定義式,一般的書上,都有的。簡化如下:
[x]補 = x ; x 為零和正數
[x]補 = 模 - |x| ; x 為負數
按定義式來計算,[-16]補 = 32 - |-16| = 16 = 10 0000(二進位制)
按照定義式求補碼,這才是補碼的詳細原理。
求反加一,只不過是一個簡便做法,並不是原理。
補碼原理,並沒有進位制的限制,即,任何進位制,都可以求出補碼。
而求反加一,只能用於二進位制。
以求反加一為重點的書,層次較低,很難能說明補碼的原理。
參考
2樓:匿名使用者
補碼10000,真值=-(1111+0001)=-10000。
二進位制數(-10000)=十進位制數(-16)
補碼為什麼每一位取反後再加1?原理是什麼?
3樓:沙裡波特
八位補碼的定義式是:[x]補碼 = 2^8 -| x | // x < 0
假如 x =-1011,推導如下。
[-1011 ] 補碼 = 2^8 -| x |
= 1 0000 0000- | -1011 |= 1 0000 0000 - 0000 1011= (1111 1111 + 1)-0000 1011= (1111 1111 - 0000 1011) + 1//( 括號中就是取反 )之後加一= 1111 0100 + 1 // 反碼+1= 1111 0101 //補碼證畢。
4樓:可軒
《補碼原理》
5樓:寒塘暖翅
補碼特性:一個負整數(或原碼)與其補數(或補碼)相加,和為模。
如 0000~1111 的模為16,而1111 表示的數最大卻是15 而不是16,少了一個1,而0000表示0而不是1(是0到15的關係,而不是1到16的關係)。
1111直接取反的話為0000,1111+0000=1111表示為15。
所以補碼需要加上那一個1。才能使1111+0001=10000為16.但16已經超出了表示範圍。
當按位減時,需要加上最後那個1。
6樓:爾離好活笑
這個問題解釋起來需要一定的功夫
給一個地址,你可以去看一下,解釋的很詳細
如何將二進位制補碼10000轉換成十進位制數
7樓:周
用除二倒取餘法,二進位制的10000可換成十進位制的16,
8樓:洪崠崠
對於負數,保持符號位為1,尾數變反,末位加1。所以為-16
9樓:可軒
約定字長5位
[x]補 = 10000b
[x]反 = 11111b
[x]原 = 10000b
真值x = -0000b = -0d , "負零"
為什麼要定義原碼,反嗎和補碼,為什麼要定義原碼,反嗎和補碼?能夠對十進位制數定義反碼和補碼嗎?
其實從原碼到補碼是一個層層遞進的關係,也是一個在錯誤中逐步發展的過程。也就是說利用原碼運算減法時出現的錯誤,為了解決出現了反碼運算,但是反碼運算時又出現了讓人不滿意的地方,於是為了更好的追求出現了補碼。模 補數的出現 初中還是高中或者是小學讓我們知道了這樣一件事情 把某物體左旋轉 90 度,和右旋轉...
為什麼螞蟻搬家就表示要下雨為什麼螞蟻搬家?代表下雨
1 下雨前空氣的溼度會比較高,螞蟻這種把窩造在地下的生物,長久的生存進化使它們對空氣 溼度變化的感覺非常靈敏,當溼度加大時,螞蟻就會有在低處危險的感覺,就要往高處搬。如 果說螞蟻能夠憑藉其本能準確地感覺出即將下雨,甚至能準確地感覺出下雨量的大小。2 都是完全有可能的,畢竟那些劈頭蓋臉的雨點打在身上不...
字串為什麼用16進製表示可以用其它進製表示嗎
字串不分幾進位制,只是用來表述一串字元而已。例如 string s admin 你看到的十六進位制可能是表述顏色 例如 string red fffff 等因為十六進位制除了0 9以外還有a f,所以如果一個引數想用十六進位制表示,必須採取string字串型別。但是不是代表字串一定要用十六進位制。什...