C++ 修饰符使用总结
基础类型修饰符
C++ 允许在 char、int 和 double 等基础数据类型前放置修饰符。基本类型常用的修饰符有:
-
signed
-
unsigned
-
long
-
short
修饰符 signed、unsigned、long 和 short 可应用于整型,signed 和 unsigned 可应用于字符型,long 可应用于双精度型。
修饰符 signed 和 unsigned 也可以作为 long 或 short 修饰符的前缀。例如:unsigned long int。
C++ 允许使用速记符号来声明无符号短整数或无符号长整数。您可以不写 int,只写单词 unsigned、short 或 unsigned、long,int 是隐含的。例如,下面的两个语句都声明了无符号整型变量。
unsigned x;
// 等价于
unsigned int y;
C++ 解释有符号整数和无符号整数修饰符之间的差别:
#include <iostream>
using namespace std;
int main()
{
short int i; // 有符号短整数
short unsigned int j; // 无符号短整数
j = 50000;
i = j;
cout << i << " " << j;
return 0;
}
运行结果
-15536 50000
对于无符号化为有符号的位数运算,采取 N − 2 n N-2^n N−2n 的计算方法,n 取决于定义的数据类型 int、short、char、long int 等等,N 为无符号数的数值,例如文中的 N=50000,short 为 16 位,计算方法为 50000 − 2 1 6 50000-2^16 50000−