有符號位的二進位制數,在計算原碼和補碼時那個符號位是始終不變的

時間 2021-10-28 11:29:11

1樓:小cherry丸子吖

對於無符號數而言,沒有什麼原碼、反碼、補碼的概念,只有絕對值。

對於帶符號數,才會有採用什麼碼型來表示的問題。10000000確實是-128的補碼。對於帶符號數,最高位是符號位,0表示正數、1表示負數,始終不變。

所有的碼型換算,都只針對低位的絕對值部分進行。

例如12的原碼是00001100,-12的原碼是10001100。對其絕對值部分0001100求反加1得1110100,最高位添上符號位1,就是補碼11110100。

所以碼型轉換運算只針對絕對值部分,不針對符號位,符號位始終不變。

因為對於帶符號數而言,真正的表示範圍是-127~+127,這其中包含了兩個0:+0(00000000)和-0(10000000)。而實際應用中,0是沒有符號的,所以規定0用+0來表示,那麼-0就是一個沒有用的二進位制碼了,而對於低7位而言,模為128,那麼128與0就是等值的,此時符號位是負的,於是規定-0就表示-128。

這是人為規定。

二進位制數11010100的原碼,反碼,補碼和移碼是什麼?

2樓:匿名使用者

正數的原、反、補碼都一樣:0的原碼跟反碼都有兩個,因為這裡0被分為+0和-0。

二進位制數11010100 是負數:= -2^6-2^4-2^2[x]原=11010100

符號位不變,原碼的其他位按位取反:

[x]反=10101011

補碼在反碼的基礎上按照正常的加法運算加1

[x]補=10101100

移碼不論正負,將其補碼的符號位取反即可

[x]移=00101100

3樓:匿名使用者

帶符號的二進位制數的原碼,反碼和補碼的計算,符號位與數值位單獨運算.

如+11010100的原碼是0 11010100,反碼是0 00101011,補碼是0 00101100,移碼要看是左移還是右移,是帶符號移還是不帶符號移的情況再定

4樓:做而論道

沒有正負號該怎麼算??

----

沒有正負號,這不就是無符號數嗎?

這就直接用二進位制數了,沒有什麼碼的問題。

5樓:沙裡波特

二進位制數 1101 0100 的原碼,反碼,補碼和移碼是什麼?

我知道若是 +1101 0100 的原碼便是 0,1101 0100這邊沒有正負號該怎麼算?

--沒有符號,便是“無符號數”。

--無符號數,並沒有原碼反碼補碼這些囉嗦事。

--無符號數,直接就存放到計算機中,即可。

二進位制的補碼多少位?8位二進位制補碼計算步驟是什麼

這個,可以自定義。最大的位數,取決於你的計算機,記憶體的大小。8位二進位制補碼計算步驟是什麼?正數 零的補碼,與其數值相同。負數的補碼,用 256 加上該數。補碼的計算步驟,與普通的二進位制計算步驟,完全相同。1 補碼是抄把減法用加法計算,採用進製丟的方法得到結果時應該補足的數。位二進位制補碼的計算...

二進位制補足位數什麼意思,二進位制數補齊位數是什麼意思?具體怎麼補呢

這個這個 這個我覺得還是讓我拿著筆在紙上講得明白一些哎 簡單的來說,就跟10進製的逢10進1是一樣的,10進製單數最大9,2進製就是1,同樣的8進製就是7,所以需要進製,這是針對2進製數相加的規律 你說的那個例子是2進製和10進製之間的轉換,4是2的2次方,所以在2進製上從右往左第三位就是1,其他的...

32位二進位制的計算問題

32位二進位制數占用資料匯流排的寬度為4byte,而用32位二進位制數來表示位址匯流排寬度的話,則可以定址到2 32 4294967296 個byte儲存空間,即4gb的記憶體空間。你所說的 整暈了 是因為你將資料匯流排寬度與位址匯流排寬度搞混了。 聽不清啊 32位二級制是4個byte 8bit 1...