符号自动转换

先看代码和结果:

int main()
{
    int a = -4;
    unsigned int b = 3;
    cout << "a + b = " << a + b << endl;

    return 0;
}
a + b = 4294967295

4294967295用十六进制表示就是0XFFFFFFFF,可以看出,是 -1 的补码,说明 int 和一个 unsigned int相加,结果是被转化成了unsigned int

你可能感兴趣的:(符号自动转换)