溢位和進位到底有什麼區別啊?比如暫存器全都是8位的。

2023-07-19 00:18:40 字數 4154 閱讀 7638

1樓:做而論道

在小學學過:自然數、整數。

存入計算機後,就改稱為:無符號數、帶符號數。

不論什麼數,在計算機中,都是用「二進位制機器碼」表示和儲存。

8 位的二進位制機器碼,可代表。

無符號數的範圍是

帶符號數的範圍是

當運算結果,超出了上述的範圍,必然就會溢位。

溢位,本應是通用的名詞。

但是,在 intel 設計的 cpu 中,就分成了「進位」和「溢位」兩種說法。

intel 設計 cpu 時,規定了兩個標誌位。

無符號數運算結果超出上下限,將有:cf = 1,這就叫做「進位」。

有符號數運算結果超出上下限,將有:of = 1,這才叫做「溢位」。

示意圖如下:

無論出現 cf=1 或 of=1,都說明,運算結果,已經超出 8 位二進位制的容納範圍。

那麼,僅僅以 8 位二進位制,當做運算結果,肯定是錯誤的。

對於無符號數來說,把 cf=1 算在內,共有 9 位的結果,這就是正確的。

但是,對於帶符號數運算來說,一旦 of=1,就無法得到正確的結果。

2樓:羿利葉向酉

比如8位系統,0-255之間,無符號。

進位和小學數學,1+9=10,進1位是一樣的理解。

溢位,超出取值範圍叫做溢位,本來是0-255,你出來一個266,這就是溢位,這個數字是無法被訪問的。無符號無溢位是因為1+255=0,2+255=1,迴圈了,而不是繼續加大得到一個大於255數值。

因此數值永遠在0-255之間,你會超過這個範圍不會溢位。

3樓:翟素芹權淑

a+b0xff0xff

0x1fe,由於c暫存器只有八位,所以其結果為0xfe(也就是無符號數254)。計算過程中發生了溢位的狀態,一般會儲存在類似於程式狀態字這樣的特殊暫存器中,供程式進行後續判斷,或者直接會向系統丟擲異常。

有符號數-127採用補碼錶示為0x81,因此e+f0x81

0x810x102,由於g暫存器只有八位,所以其結果為0x02(也就是有符號數+2)。同樣,計算過程中也產生了溢位。

嫌我字數不夠。

「溢位」和「進位」的區別是什麼?

4樓:太平洋電腦網

對於整數來說溢位就是超出型別所能表示的範圍。比如對於無符號整數0 - 1就會溢位。而對於16位帶符號整數-32768 - 1會溢位。

這裡存在一個問題就是一般cpu不會區分你的運算是否帶符號,因為不管帶不帶符號,運算方法都是一樣的。也就是說兩種溢位都需要考慮,為了區分,無符號整型的溢位就被稱作進位了。

進位判斷方法:加減時最高位產生進位或借位,代表結果超出無符號數的範圍,單位元組就是0~255;

溢位判斷方法:加減時最高位和次高位中有且僅有一個產生進位或借位,代表結果超出有符號數的範圍,單位元組就是-128~127;

5樓:做而論道

溢位,是指資料過大,超出了編碼所能表示的範圍。

對於八位二進位制【無符號數】,表示範圍是 0~255。

當運算結果,達到 256 以及更大,就溢位了,特徵是「進位為一」

對於八位二進位制【帶符號數】,表示範圍是 -128~+127。

當運算結果,小於-128 或大於 127,就溢位了,特徵是「符號錯誤

因此,當出現了進位,必然就是「無符號數溢位」了。

現在,很多作者的基本概念都不清,教材中都是亂講。

他們只是把「帶符號數」的溢位,稱為「溢位」。

而錯誤的把「無符號數」的溢位,稱為「進位」。

那麼,有進位,就一定溢位嗎?

顯然不是的,按照「現代說法。,它們兩者,根本就沒有關係。

溢位和進位的區別

6樓:做而論道

溢位,本是通用的名詞。可以理解為:容器太小。

但是,計算機專業中,超過容器範圍的事情,就分成了「進位」和「溢位」兩種說法。

人類所用的:自然數、整數。

在計算機專業人嘴裡,就改稱為:無符號數、帶符號數。

不論什麼數,在計算機中,都是用「二進位制機器碼」表示和儲存。

8 位的二進位制機器碼,

可代表無符號數的範圍是

可代表帶符號數的範圍是:

當運算結果,超出了上述的範圍,必然就會溢位。

intel 設計 cpu 時,規定了兩個標誌位。

無符號數運算結果超出上下限,將有:cf = 1,這就叫「進位」。

有符號數運算結果超出上下限,將有:of = 1,這才叫做「溢位」。

計算:1111 1110 + 1111 1101 = 進位 1) 1111 1011。

如果這是無符號數,就是:254 + 253 = 256) 251。

結果應該是 507,超出了 255,進位=1。

如果這是帶符號數,就是:(-2) +3) =捨棄進位) (5)。

結果不超範圍,沒有溢位,結果正確。

計算:

如果這是無符號數,就是:126 + 125 = 0) 251。

結果不超出 255,結果正確。進位=0。

如果這是帶符號數,就是:+ 126 + 125 = 捨棄進位) (5)。

結果超範圍,溢位了,結果符號不對,結果錯。

7樓:匿名使用者

進位標誌表示無符號數運算結果是否超出範圍,運算結果仍然正確;溢位標誌表示有符號數運算結果是否超出範圍,運算結果已經不正確。

8樓:手機使用者

溢位是所要儲存的空間無法放置所要存放的資料,而導致正常讀取出錯。 進位。程式裡沒這個詞。數學中有。十進位制滿10進1,八進位制滿8進1.

為什麼可以用進位判斷溢位?

9樓:做而論道

溢位,本來是個通用的詞彙,其含義,不難理解。

到了計算機專業,溢位是指資料過大,超出了編碼所能表示的範圍。

對於八位二進位制【無符號數】,表示範圍是 0~255。

當運算結果,達到 256 以及更大,就溢位了,特徵是「進位為一」。

對於八位二進位制【帶符號數】,表示範圍是 -128~+127。

當運算結果,小於-128 或大於 127,就溢位了,特徵是「符號錯誤」。

按照 intel 所設計 cpu 的特點,進位和溢位,是不同的。

「無符號數」的溢位,則稱為「進位」。

「帶符號數」的溢位,才稱為「溢位」。

那麼,可以用進位判斷溢位嗎?

顯然不是的。

在 intel 公司,它們兩者,根本就沒有關係。

10樓:辜涆桓秀美

進位判斷方法:加減時最高位產生進位或借位,代表結果超出無符號數的範圍,單位元組就是0~255;

溢位判斷方法:加減時最高位和次高位中有且僅有一個產生進位或借位,代表結果超出有符號數的範圍,單位元組就是-128~127;

帳和賬有什麼區別,帳和賬到底有什麼區別啊

在會計專業內,甚至整個經濟界內,關於 帳 與 賬 一致存在著爭論。爭論的焦點是兩者哪一個更正確更規範。目前國內,以財政部為代表的官方,規定使用 賬 在日常生活,甚至是學術領域內,兩者均有使用。在相互地爭論中,兩者都有各自的主張,都能在各自的書寫上找到各自的依據,到目前為止也未能達成一致的意見。僅憑財...

海豚和鯨鯊魚到底有什麼區別啊,鯨魚和鯊魚有什麼不同?

鯊魚是抄一種魚.但與其他魚不同的襲是,鯊魚沒bai有硬骨頭.它們的骨架是一 du種zhi叫做 軟骨 的物質構成.鯊魚的身體dao有很多不同的形狀,但大部分鯊魚的外形很像魚雷.它們的身體能在水中迅速滑行.多數鯊魚的尾巴上部比下部要長.鯨的種類超過75種,生活在世界各地的海域中.鯨不是魚.鯨可以分為齒鯨...

桌布和牆紙到底有什麼區別?!求解

桌布是畫背膠貼,牆紙是裝修牆面用的一般是整面刷膠貼的 桌布牆紙其實都一樣的啊,同種東西兩個叫法,像日本龍喜陸桌布 德國瑪堡桌布 德國朗飾牆紙 這些都是信譽度很高的品牌,值得大家的信賴。貼牆布好還是牆紙好?各有什麼區別?牆布好。1 性質不同 牆布因材質而具有視覺舒適 觸感柔和 少許隔音 高度透氣 親和...