二進制如果溢出機器會怎麼處理
① 為什麼使用二進制計算的時候會出現溢出現象
使用二進制計算的時候會出現溢出現象,是因為計算機都有它的上限內和下限,太大的數值和容太小的數值都是無法顯示出來的。
② 二進制相加溢出咋辦
這兩個加數都是10位的二進制數,相加進位後應該是11位的,
即是 1 1000001100,但是,如果只專能保屬留10的話,那高位的進位就自然丟掉了,所以,才是
1000001100。
因不知,你這原題是出自於哪裡,是怎麼問的。按結果分析,應該是這個答案。
③ 那位仁兄告訴我二進製取反加法的溢出怎麼處理
溢出是因為位數不夠,你多取幾位就不會溢出了。
11D=1011B
3D=0011B
正數的補碼是本身,所以直接加就可以了,不用求補碼。
1011
+0011
1110
答案是14
④ 在二進制運算中,如果發生了溢出,那麼溢出的那一位數據是不是丟失了
不會出現溢出!加數1和加數-1的符號不同
溢出的判斷規則:
(1)、從結果判斷:加數的符號相同,和的符號與加數的符號不同。
(2)、從進位判斷:如果符號位Cin≠Cout,則結果會溢出。
不是
注意:符號位有進位並不一定溢出
[例5] 某數字設備用五位二進製表示數,計算
(1)9+3 (2)-9-3 (3)9+12 (4)-9-12
解:(1)[+9]補+[+3]補= 01001+ 00011 = 01100 = +12 正確;
(2)[-9]補+[-3]補= 10111+ 11101 = 110100 = 10100(符號位進位自然丟失),其真值為-1100 = -12正確;
(3)[+9]補+[12]補= 01001 + 01100 = 10101 其真值為-1011 =-11錯誤,產生了溢出;
(4)[-9]補+[-12]補 = 10111+10100 = 101011 其真值為01011= +11 錯誤,產生了溢出。
(1)、(2)兩題結果均正確,查其最高位和次高位的進位位,不是均無進位產生,就是均產生進位;(3)、(4)兩題結果均錯誤,查其最高位和次高位的進位位,只有一位產生了進位。此即為判斷機器是正常進位還是溢出的基本依據,在微型機中可用異或電路來實現上述的判斷。
⑤ 關於二進制運算溢出的問題
你說的這個檢驗方法我也有印象,但是前提是相加的數是補碼,准確的說是有符號專數的補碼,這屬時候1100代表的不是12,而是-4,那麼這個式子就是-4+5=1並沒有溢出,而且運算正確。所以估計那個方法只適用於「有符號數的加法」。
其實,因為有符號數的補碼表示和通常的二進制不同,所以他的溢出判斷才顯得不直觀。而無符號數和數學上的二進制加法完全一樣,所以他的溢出反而更簡單,只要判斷最高位的進位是不是1就可以了吧~
⑥ 二進制補碼計算溢出怎麼辦
溢出了,說明運算結果無效。
怎麼辦?
如果非得求出這個結果,那就:增加位數,再重新計算。
⑦ 為什麼使用二進制計算的時候會出現溢出現象
使用二進制復計算的時候制會出現溢出現象,是因為計算機都有它的上限和下限,太大的數值和太小的數值都是無法顯示出來的。
⑧ 二進制溢出的問題
既不是把第一位擠掉也不是把最後一位擠掉,當二進制數計數到1111 1111時,如果再往上累加,那麼內這個二進制數就容會溢出,此時該二進制數變成0000 0000,相應的溢出標志位會置1。
對於一個二進制數:0110 1001,前面的4位(0110)稱為高位,後面的4位(1001)稱為低位。
⑨ 二進制的溢出問題
溢出就是存儲器不夠位置,需要丟棄高位。高位被丟棄就是溢出,標志寄存器的溢出標志會被置1.
你的例子,前面的數小於後面,會溢出。
⑩ 二進制如果兩個數相乘溢出問題怎麼解決
溢出說明你使用的數據類型不足以表示結果, 一般來講需要換一種表示
比如說, 兩個32位整數相乘的結果有可能會超過32位, 那麼可以用一個64位整數或者兩個32位整數去表示