2025-11-20 06:40:32
int类型溢出就是说这个整数超过了它能表示的最大最小值。比如32位的int最大能存,最小能存-。当加法减法结果比这两个数还大或更小的时候,就会发生溢出。比如-加1就会变成,因为计算机内部用补码存储,符号位也占用了数值位。
这是因为int类型用固定位数存储数值,符号位占用了最高位。32位int最高位是符号位,剩下31位存数值。当运算结果超过这个容量时,符号位会被错误保留,导致数值反转。比如这个数,31位数值位全1,符号位本来是0,但实际存储时会变成1,所以显示为-。这种溢出在编程中很危险,比如循环计数器用int存的话,超过最大值就会导致死循环。
本题链接: