無符號整數的算術運算


無符號整數的算術運算

email:778138708@qq.com

無符號整數的表示范圍

  • 一個8位無符號二進制數,表示范圍為:0000 0000B ~ 1111 1111B,0 ~ 28 - 1(0 ~ 255),00H ~ FFH
  • 一個16位無符號二進制數,表示范圍為:00000000 00000000B ~ 11111111 11111111B,0 ~ 216 - 1(0 ~ 65535),0000H ~ FFFFH

算術運算溢出判斷

例 計算1010 1011B + 1101 0010B = (?)B

10101011B = 171D
11010010B = 210D
171D + 210D = 381D

  • 運算結果101111101B是9位,超出了8位二進制數的取值范圍(0000 0000B ~ 1111 1111B),則最高位被丟棄,這導致運算結果錯誤,計算機中將這種情況稱為溢出。兩個16位二進制數相加,結果有可能超出16位二進制數的取值范圍(0000H ~ FFFFH),導致最高位被丟棄,運算結果溢出。
  • 在無符號數的加減運算中,如果最高位向前有進位(加法)或借位(減法),則運算結果產生溢出。
  • 在計算機中,如果加減運算中最高位向前有進位或借位,將使微處理器標志寄存器中的CF位置1。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM