C++修饰符
数字类型修饰符
数据类型修饰符包括signed、unsigned、long、short。
在进行有符号数和无符号数的比较时,有符号数将要化成无符号数进行比较。例如:
int main()
{
int i; // 有符号短整数
unsigned j; // 无符号短整数
j = 1;
i = -1;
if (i > j)
{
cout << i << endl;
}
else
{
cout << j << endl;
}
return 0;
}
上述代码的输出为 -1。原因在于有符号数和无符号数之间的转换。
将无符号数转换为有符号数的计算方式为:
N
−
2
n
N-2^n
N−2n。
N
N
N 为无符号数,
n
n
n 为无符号数定义的类型,如果是 short 型,则为 16,如果是 int 型,则为 32,以此类推。