前沿拓展:无符号短整形占多少位
C++允许在char,int和double数据类型前放置修饰符。修饰符用于改变基本类型的含义,所以它更能满足各种情境的需求。
主要的数据类型修饰符有:signed(有符号),unsigned(无符号),long,short。修饰符signed,unsigned,long和short可应用于整型,signed和unsigned可应用于字符型,long可应用于双精度型。
修饰符signed和unsigned也可以作为long或short修饰符的前缀。
C++允许使用速记符号来声明无符号短整数或无符号长整数。可以不写Int,只写unsigned,short或unsigned,long,int是隐含的。
例如,下面的两条语句声明了整型变量:
short unsigned x; //无符号短整变量
short unsigned int y: //无符号短整变量
short int i; //有符号短整型变量
例子:
/*文件名:Exp9-2.cpp
功能:C++修饰符使用示例*/
#include <iostream>
#include<iomanip>
using namespace std;
int main()
{ short int i ; //有符号短整数
short unsigned int j; //无符号短整数
j=50000;
i=j;
cout<<dec<<i<<''; //十进制数输出
cout<<hex<<i<<end1; //十六进制数输出
cout<<dec<<j<<''; //十进制数输出
cout<<hex<<j; //十六进制数输出
return 1; }
运行结果:-15536 c350
50000 c350
从中可以看出,short int数在code::blocks编译环境中的存储空间为2字节。十六进制数c350的二进制数是1100001101010000,该数的无符号十进制数是50000。由于该数的高位为1,因此该数的有符号十进制数是-15536。

拓展知识:无符号短整形占多少位
整型数据,占两个字节,16位unsigned int 表示无符号整型数,范围是 0-65535,2的16次方等于65536
int 表示有符号整型数,范围是 -32768到32767,即实际数据是15位,高位是符号位
无符号整型就是
unsigned
int
如果在内存中存储一个2进制数
1111
1111
如果是无符号整型
那么这个数就是255
有符号的话
这个数就是
-1
长整型
如果短整型占2个字节
长整型占4个字节
短整型
能表示-2^8~2^8
长整型
能表示-2^16~2^16
无符号整型是 unsigned int 表示数的范围是 0-65535
有符号整型 int 表示数的范围是 -32768到32767
还有其他疑惑?想了解更多?可以点击 【在线咨询】