签到未签名的演员

MTV*_*TVS 3 c++ unsigned signed types

看看这段代码:

void main ()
{
int i = -1;
unsigned u = 1;

cout << u + i;
}
Run Code Online (Sandbox Code Playgroud)

添加u(无符号)和i(有符号),所以我必须转换为无符号类型,因此它应该被解释((2 ^ 32) - 1)并且表达式应该从:-1 + 1变为((2 ^ 32) - 1)+ 1但是当我运行代码时,结果为0为什么?

Pub*_*bby 6

-1在无符号表示最大可能的无符号可容纳数(UINT_MAX).

由于属性的原因,为此包含1 unsigned,因此等于0.