是否将unsigned int递减到0以下未定义的行为?

时间:2015-01-11 00:10:21

标签: c undefined-behavior unsigned-integer

这是未定义的行为吗?

unsigned int size = 0;
size -= 1;

1 个答案:

答案 0 :(得分:8)

无符号整数对所有算术运算都有明确定义的行为;具体来说,它们实现了“artithmetic modulo 2 N ”,其中 N 是该类型中的值位数。所以-1实际上是2 N - 1。