【发布时间】:2011-02-15 04:09:28
【问题描述】:
我在很多地方读到无符号整数溢出在 C 中的定义与有符号对应项不同。
下溢也一样吗?
例如:
unsigned int x = -1; // Does x == UINT_MAX?
谢谢。
我不记得在哪里,但我在某处读到无符号整数类型的算术是模块化的,所以如果是这种情况,那么 -1 == UINT_MAX mod (UINT_MAX+1)。
【问题讨论】:
-
我相信术语“下溢”只真正适用于浮点数,在浮点数中你不能表示一些非常接近零的数字。整数不会有这个问题。
-
@bde 我同意这是一个技术上准确的陈述,但由于违反了数字系统底端的边界条件,该术语经常被超载。
标签: c integer types integer-overflow underflow