- 当一个算术表达式中既有无符号数又有int值时,那个int值就会转换成无符号数。把int 转换成无符号数的过程和把int 直接赋值给无符号变量是一样的。把负数转换成无符号数类似于直接给无符号数赋一个负值,结果等于这个负数加上无符号数的模(2的32次方)。
#include <iostream>
using namespace std;
int main()
{
unsigned u = 10;
int i = 10, i2 = 42;
cout << i2 - i<<endl;//32
cout << i - i2<<endl;//-32
cout << i - u<<endl;//0
cout << u - i<<endl;//0
return 0;
}
上述代码展示的是整型和无符号数之间的运算。
- 字面值常量,我们可以将整数型字面值写作十进制数、八进制数或者十六进制数的形式。下面是数值20的三种表示形式:
十进制 八进制 十六进制 20 024 0x14