導航:首頁 > 知識科普 > 加法溢出有哪些判斷方法

加法溢出有哪些判斷方法

發布時間:2022-07-20 15:38:23

⑴ 在定點 運算中,為了判斷溢出是否發生,可採用雙符號位檢測法,不論溢出與否

溢出判斷,一般用雙符號位進行判斷:

符號位00
表示正數
11
表示負數
結果的符號位為01時,稱為上溢;為10時,稱為下溢

設x和y是4位的有符號數,x=7,y=-7,符號位為雙符號位
用補碼求x+y,x-y
[x]補+[y]補=00
111+11
001=0
0000結果不溢出
[x-y]補=[x]補+[-y]補=00
111+00
111=0
1110結果上溢出。
同理,可以判斷x,y為其他位數的補碼運算溢出。

如何確定由兩個補碼表示的有符號數在做加減法運算時產生溢出

補碼加法運算溢出判斷三種方法:

  1. Xf、Yf分別兩個數的符號位,Zf為運算結果符號位。當Xf =Yf =0(兩數同為正),而Zf=1(結果為負)時,負溢出;當出現Xf =Yf =1(兩數同為負),而Zf=0(結果為正),正溢出。

  2. Cs表示符號位的進位,Cp表示最高數值位進位,⊕表示異或。若 Cs⊕Cp =0 ,無溢出;若 Cs⊕Cp =1 ,有溢出。

  3. 用變形補碼進行雙符號位運算(正數符為00,負數符號以11)。若運算結果的符號位為"01",則正溢;若結果雙符號為10,則負溢出;若結果的雙符號位為00或11,無溢出。

⑶ 計算機中二進制加減法時,是如何判斷溢出的

溢出是在有符號運算中出現的,異號運算OF=0,同號運算 OF=1。

溢出,在用二進制進行加減計算的時候,要看「最高位的進位」就「次高位的進位」。

這兩個進位,如果相同,則無溢出。

設兩個8位補碼表示的數b7b6b5b4b3b2b1b0和a7a6a5a4a3a2a1a0相加,

把b7 + a7的進位稱為C7,把b6 + a6的進位稱為C6,

那麼,C7、C6,如果不同,就是溢出了。

樓主給出的題目如下,依據這些,是不能判斷溢出的,因為其中並沒有「次高位的進位」。

溢出(b7,a7為符號標記),則____

A.b7與a7的邏輯或結果一定是1

B.b7與a7的邏輯與結果一定是為0

C.b7與a7的邏輯異或結果一定為1

D.b7與a7的邏輯異或結果一定0;答案為D

(3)加法溢出有哪些判斷方法擴展閱讀:

在幾乎所有計算機語言中,不管是新的語言還是舊的語言,使緩沖區溢出的任何嘗試通常都會被該語言本身自動檢測並阻止(比如通過引發一個異常或根據需要給緩沖區添加更多空間)。但是有兩種語言不是這樣:C 和 C++ 語言。C 和 C++ 語言通常只是讓額外的數據亂寫到其餘內存的任何位置,而這種情況可能被利用從而導致恐怖的結果。

更糟糕的是,用 C 和 C++ 編寫正確的代碼來始終如一地處理緩沖區溢出則更為困難;很容易就會意外地導致緩沖區溢出。除了 C 和 C++ 使用得 非常廣泛外,上述這些可能都是不相關的事實;例如,Red Hat Linux 7.1 中 86% 的代碼行都是用 C 或 C ++ 編寫的。因此,大量的代碼對這個問題都是脆弱的,因為實現語言無法保護代碼避免這個問題。

⑷ 針對定點小數加法運算,分析 產生溢出的原因,並給出兩種溢出的方法

(1)產生「溢出」的原因:        
當最高有效數值位的運算進位與符號位的運算進位不一致時,將產生運算「溢出」。 當最高有效位產生進位而符號位無進位時,產生上溢; 當最高有效位無進位而符號位有進位時,產生下溢。 
(2)「溢出」檢測方法: 
為了判斷「溢出」是否發生,可採用兩種檢測的方法。
第一種方法:採用雙符號位法, 稱為「變形補碼」或「模4補碼」,可使模2補碼所能表示的數的范圍擴大一倍
第二種溢出檢測方法:採用「單符號位法」。當最高有效位產生進位而符號位無進位時,產生上溢; 

⑸ 兩數的補碼相加減有幾種方法判別溢出, help啊!

判斷溢出,有三種方法:
1.由人進行計算,並判斷:正+正=負、負+負=正、...,這就是溢出。
2.由CPU進行計算,由人觀察標志位:OV=1,就是溢出。
3.由CPU進行計算,並給出溢出標志位:C7異或C6,為1,就令OV=1。

⑹ 溢出的判斷方法

溢出判斷方法一
用Xf和Yf表示被加數和加數補碼的符號位,Zf為補碼和的符號位.當出現Xf = Yf= 0兩數同為正,而Zf為負,即Zf=1時,有上溢.當出現Xf =Yf = 1兩數同為負,而Zf為正,即Zf= 0時,有下溢.
溢出判斷方法二
當數值最高位有進位位C1=1,符號位沒有進位C0=0時,或當數值最高位沒有進位位C1=0,符號位有進位C0=1時,結果有溢出.
溢出判斷方法三:
用變形補碼進行雙符號位運算.在變形補碼中,正數符號以"00"表示,負數的符號以"11"表示.一般稱左邊的符號位為第一符號位,右邊的符號位為第二符號位.若運算結果的符號位為"01",則表明有正溢出產生.若運算結果的符號"10",則表明有負溢出產生.

⑺ 定點數加減運算的溢出判定,可以通過______和______的方法判定。

定點數加減運算的溢出判定,可以通過___單符號位判溢方法 ___和___雙符號位進位判溢方法 ___的方法判定。
定點數加減
目前計算機普遍使用補碼實現定點數的加減運算。
1.加減運算方法:
根據補碼的設計規則,任意的絕對值相同的負數和正數,負數是正數的反碼加1,所以絕對值相同的負數和正數相加,剛剛好結果就是為全0(最高位進一位,拋棄)。然後對照下補碼表,可以發現基於這種設計,兩數相加時可以直接將符號位也參與運算,得出的結果也包含符號位。
2.溢出判斷:
(1)單符號位判溢方法
相加溢出的情況只有兩種:
正數和正數相加,結果為負數,發生溢出。
負數和負數相加,結果為正數,發生溢出。
什麼正數和負數相加不會溢出呢?是因為正數和負數的最值的絕對值都是相同的,正負相加結果一定在絕對值之內。
相減只是將加數取補碼再相加,所以知道相加溢出就夠了。
(2)進位判溢方法(單符號位)
由補碼表觀察可以知道:
不溢出的情況:
一個絕對值較大的負數和絕對值較小的正數相加,最高有效位(即最高的數值位)不會發生溢出,因此符號位也沒有進位。
一個絕對值較小的負數和絕對值較大的正數相加,最高有效位溢出,且使得符號位由1變10(0)進位。
溢出的情況:
上面已經知道:
正數和正數相加,結果為負數,發生溢出。→這種情況是最高有效位進位,而符號位由0變1無進位。
負數和負數相加,結果為正數,發生溢出。→這種情況是最高有效位不進位,而符號位由1變10(0)進位。
所以當最高有效位和符號位的進位不同時,就表明發生了溢出。
(3)雙符號位進位判溢方法
採用雙符號位(00、11)進行相加,上面已經知道:
所以當最高有效位和符號位的進位不同時,就表明發生了溢出。
→符號位進位,最高有效位不進位就變成了11+11=10(110)。此時為負溢出。
→符號位不進位,最高有效位進位就變成了00+1=01。此時為正溢出。

⑻ 計算機運算時是如何判斷發生溢出的

要通過計算機運算,就先的申請計算機內存,存儲數據,申請的時候數據有數據類型,數字的話用int類型舉例把,int在不同的語言中他佔用的內存是不同的,就以c語言為例,是佔用8個位元組,在計算機中是以2進製表示(00000000 00000000)共8位(最高位是0代表正數,1則是負數);2個數相加就是2個16位的2進制相加,比如01000000 00000000(16384)+01000000 00000000(16384)=10000000 00000000 ;這就溢出了,因為最高位是符號位,1代表負數;大概是這樣把,不知道有錯的沒,呵呵

⑼ 如何檢查補碼加減運算中的溢出問題

通常有三種表述方式(說法):
(1) 兩個符號相同的補碼數相加,如果和的符號與加數的符號相反,或兩個符號相反的補碼數相減,差的符號與減數的符號相同,都屬於運算結果溢出.這種判別方法比較復雜,要區別加還是減兩種不同運算情況,還要檢查結果的符號與其中一個操作數的符號的同異,故很少使用;
(2) 兩個補碼數相加減時,若最高數值位向符號位送的進位值與符號位送向更高位的進位值不相同,也是運算結果溢出.
(3) 在採用雙符號位(如定點小數的模4補碼)運算時,若兩個符號位的得值不同(01或10)則是溢出.01表明兩個正數相加,結果大於機器所能表示的最大正數,稱為"上溢";10表明兩個負數相加,結果小於機器所能表示的最小負數,稱為"下溢";雙符號位的高位符號位,不管結果溢出否,均是運算結果正確的符號位,這個結論在乘法運算過程中是很有實際意義的.請注意,在採用雙符號位的方案中,在寄存器和內存儲器存儲數據時,只需存一位符號,雙符號位僅用在加法器線路部分.
再次強調,這三種不同說法是對同一個事實的略有區別的表述,實現時用到的線路可以有所區別,但問題的實質是完全一樣的.

⑽ 如何判斷兩個補碼表示的有符號數在做加減法運算時產生溢出

補碼加法運算溢出判斷三種方法:
[方法一]
Xf、Yf分別兩個數的符號位,Zf為運算結果符號位。
當Xf =Yf =0(兩數同為正),而Zf=1(結果為負)時,負溢出;
當出現Xf =Yf =1(兩數同為負),而Zf=0(結果為正),正溢出.
[方法二]
Cs表示符號位的進位,Cp表示最高數值位進位,⊕表示異或。
若 Cs⊕Cp =0 ,無溢出;
若 Cs⊕Cp =1 ,有溢出。
[方法三]
用變形補碼進行雙符號位運算(正數符為00,負數符號以11)
若運算結果的符號位為"01",則正溢;
若結果雙符號為10,則負溢出;
若結果的雙符號位為00或11,無溢出。

閱讀全文

與加法溢出有哪些判斷方法相關的資料

熱點內容
窗戶上的白膩子粉怎麼弄乾凈物理方法 瀏覽:289
老人補骨脂的最佳方法 瀏覽:148
運動是減肥的最佳方法嗎 瀏覽:461
財商教育數量分析方法 瀏覽:945
二頭最佳鍛煉方法 瀏覽:914
如何做甜點和做蛋糕最簡單的方法 瀏覽:692
膝蓋有積液用什麼方法能快速消腫 瀏覽:347
英語如何用好的方法呈現形容詞 瀏覽:394
原酒怎麼儲藏方法 瀏覽:486
行業研究報告分析方法 瀏覽:677
可口可樂解決負面影響的方法 瀏覽:614
膝關節檢測方法養生堂 瀏覽:372
餓了么引流有哪些方法 瀏覽:381
扣安全帶方法圖片 瀏覽:637
冰箱的冰快速溶解的方法 瀏覽:54
紅茶的製作方法發源地是哪裡 瀏覽:605
正確的科學發聲方法是哪裡用力 瀏覽:400
高效溝通技巧和方法圖片 瀏覽:292
初五接財神正確方法動圖 瀏覽:722
動物胃腸炎的治療方法 瀏覽:360