单片机/MCU论坛
直播中

石正厚

7年用户 1106经验值
私信 关注
[问答]

什么是进位和溢出?

什么是进位和溢出

回帖(1)

李文

2023-11-4 10:57:47

  • 对于整数来说溢出就是超出类型所能表示的范围。比如对于无符号整数0 - 1就会溢出。而对于16位带符号整数-32768 - 1会溢出。

    这里存在一个问题就是一般CPU不会区分你的运算是否带符号,因为不管带不带符号,运算方法都是一样的。也就是说两种溢出都需要考虑,为了区分,无符号整型的溢出就被称作进位了。

    进位判断方法:加减时最高位产生进位或借位,代表结果超出无符号数的范围,单字节就是0~255;

    溢出判断方法:加减时最高位和次高位中有且仅有一个产生进位或借位,代表结果超出有符号数的范围,单字节就是-128~127;               
举报

更多回帖

发帖
×
20
完善资料,
赚取积分