在原碼,反碼和補碼錶示法中,對0的表示有兩種形式分別是

2021-03-08 01:32:04 字數 2350 閱讀 8297

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]原

2樓:funky幕柏

做題目遇到的一題。想搜理解的。沒找到!

用原碼錶示帶符號的整數0時,有-0和+0之分,其實就是符號位的變化-0 :1000 0000

+0 : 0000 0000

補碼形式的0,是帶負號的,因為在計算機中,負數的一律用補碼來表示。

-0的補碼是在-0的原碼(10000)的基礎上,符號位不變,其它位按位取反再在低位加1(11111+1=00000),進而得到-0的補碼00000

補碼的0也就是-0: 0000 0000

原碼有2種表示,補碼只有1種。(我是用8位二進位制來舉例的。)

3樓:做而論道

對0的表示有兩種形式分別是?原碼和反碼。

0 在補碼中,只有一種形式。

原碼,反碼和補碼錶示的規則分別是什麼

數在計算機中是以二進位制形式表示的。數分為有符號數和無符號數。原碼 反碼 補碼都是有符號定點數的表示方法。一個有符號定點數的最高位為符號位,0是正,1是副。以下都以8位整數為例,原碼就是這個數本身的二進位制形式。例如0000001 就是 1 1000001 就是 1 正數的反碼和補碼都是和原碼相同。...

計算機中資料儲存!原碼,反碼。補碼。如何轉換

原碼 先將十進位制數轉換成二進位制數,然後把最高位作為符號位,正數設為 0 負數設為 1 反碼 正數的反碼和原碼一樣,負數的反碼就是 符號位不變,數值位逐位取反 補碼 正數的補碼和原碼一樣,負數的補碼就是 反碼的最低位加1 看一下 求出45和 45在8位機器中的原碼反碼補碼 原碼 反碼 補碼 45 ...

計算機中資料儲存!原碼,反碼。補碼。如何轉換

在計算機系統中,數值,一律用補碼錶示和儲存。計算機中,並沒有原碼和反碼。那麼,什麼是補碼?補碼和數值,是怎麼換算的?這應該從 補數 說起。如果限定了參加計算的 位數 就會發生不同尋常的事。一般的計算,是用十進位制來進行的。如果,限定,只使用兩位數 那麼,1 和 99,功能就是相同的 25 99 一百...