“溢出”和“进位”的区别是什么

182次

问题描述:

“溢出”和“进位”的区别是什么急求答案,帮忙回答下

最佳答案

推荐答案

对于整数来说溢出就是超出类型所能表示的范围。

比如对于无符号整数0 - 1就会溢出。而对于16位带符号整数-32768 - 1会溢出。这里存在一个问题就是一般CPU不会区分你的运算是否带符号,因为不管带不带符号,运算方法都是一样的。也就是说两种溢出都需要考虑,为了区分,无符号整型的溢出就被称作进位了。进位判断方法:加减时最高位产生进位或借位,代表结果超出无符号数的范围,单字节就是0~255;溢出判断方法:加减时最高位和次高位中有且仅有一个产生进位或借位,代表结果超出有符号数的范围,单字节就是-128~127;

为你推荐