两个无符号数相减得到一个负数,如-6减去-7
int main() {
unsigned i1 = 6, i2 = 7;
cout << i1 - i2;
return 0;
}
正确答案是-1,但会输出结果4294967295。
因为编译器输出会是-1和2^31次方的模。
若要得到正确答案,用一个int变量存放。
两个无符号数相减得到一个负数,如-6减去-7
int main() {
unsigned i1 = 6, i2 = 7;
cout << i1 - i2;
return 0;
}
正确答案是-1,但会输出结果4294967295。
因为编译器输出会是-1和2^31次方的模。
若要得到正确答案,用一个int变量存放。