c++允许在char,int,和double数据类型前放置修饰符。修饰符勇于改变基本类型的含义,所以它更能满足各种情景的需求
下面列出了数据类型修饰符:
signed
unsigned
long
short
这四个修饰符可以应用于整型,signed和unsigned可以应用于字符型,long可应用于双精度型
修饰符signed和unsigned也可以作为long或short修饰符的前缀,例如:unsigned long int
c++允许使用速记符号来声明无符号短整数或无符号长整数,用户可以不写int,只写单词unsigned,short,long,int是隐含的,如:
unsigned x;
unsigned int y;
是等价的
有符号整数和无符号整数的区别:
#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
短整数的情况下,50000的二进制码是1100 0011 0101 0000,有符号的情况下,最左边的1表示为负,计算机是以补码形式来表示数字,要得到原数字,先-1再取反,得0011 1100 1011 0000,即-15536