關於有符號數相加發生溢出的條件碼設置問題

深入理解計算機系統中的p124頁的這樣一個問題

       c表達式:t=a+b,有符號溢出的條件碼

        OF :(a<0==b<0)&&(t<0!=a<0)  :有符號溢出

       這個條件碼是什麼意思

       有符號溢出,只有當相加的兩個數同爲正數或者同爲負數的時候纔有可能發生溢出

      (a<0==b<0)的意思可以、等價爲:a<0並且b<0或者a>0並且b>0

   也就是說這兩個數同號

   右邊括號(t<0!=a<0) 的意思可以等價爲:t<0並且a>0或者t>0並且a<0這句話的意思就是

  當兩個負數相加發生溢出的時候,結果爲正數

當兩個正數相加的時候,結果爲負數


發佈了54 篇原創文章 · 獲贊 15 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章