标签: c undefined-behavior unsigned-integer
这是未定义的行为吗?
unsigned int size = 0; size -= 1;
答案 0 :(得分:8)
无符号整数对所有算术运算都有明确定义的行为;具体来说,它们实现了“artithmetic modulo 2 N ”,其中 N 是该类型中的值位数。所以-1实际上是2 N - 1。
-1