C++ short/int/long/long long 等数据类型大小

本文详细介绍了C++中的整型数据类型,包括short、int、long、long long及其无符号版本,以及它们的字节大小和数值范围。此外,还提到了字符类型char和wchar_t的区别,以及浮点数float、double和long double的大致精度。内容涵盖了整型的赋值规则以及C++标准对类型字节数的灵活性。
摘要由CSDN通过智能技术生成

https://www.cnblogs.com/sylar5/p/11520264.html

表 1 整型数据类型
数据类型字节大小数值范围
short int (短整型)2 字节-32 768 〜+32 767
unsigned short int
(无符号短整型)
2 字节0 〜+65 535
int (整型)4 字节-2 147 483 648 〜+2 147 483 647
unsigned int (无符号整型)4 字节0 〜4 294 967 295
long int (长整型)4 字节-2 147 483 648 〜+2 147 483 647
unsigned long int
(无符号长整型)
4 字节0 〜4 294 967 295
long long int (超长整型)8字节-9 223 372 036 854 775 808~9 223 372 036 854 775 807
unsigned long long int
(无符号超长整型)
8字节048 446 744 073 709 551 615

注意,超长整型和无符号超长整型是在 C++11 中引入的。

1、整形:表示整数、字符和布尔值的算数类型的合称;

2、字符类型有两种:char和wchar_t,char类型通常是单个字节,wchar_t类型用于扩展字符集,比如汉字和日语,这些字符集不能用单个char表示;

3、short、int、long类型都表示整形,一般来说(32位机器),short占16位,两字节;int占32位(根据系统而定,32位机下为4个字节),四个字节;long在32位机器上和int一样,也是四个字节(所以感觉C++ Primer中这块的概念有误,1字=2字节 才对)

4、默认情况下,int、short、long都是带符号的,即signed;

5、和其他整形不同,char有三种表示方式:普通char、unsigned char、signed char。虽然有三种不同的类型,但是只有两种表示方式。可以使用unsigned char或者signed cahr表示char类型,具体使用哪种方式由编译器而定。

6、整型的赋值:当一个超出范围的值被赋给一个变量时,会怎么赋值呢?答曰:由编译器来决定,但一般都是取该值对该类型取值数目求模后的值(但不能保证所有编译器都会这样处理),e.g. 试图将336存储到8位的unsigned char中,实际赋值为80,因为80是336对256求模后的值,同理,如果把-1赋给8位的unsigned char,那么结果是255,因为255是-1对256求模后的值;

7、浮点数float、double、long double分别表示单精度、双精度、扩展精度浮点数,一般float为32位,double为64位,long使用96位或者128位。类型的取值范围决定了浮点数所含的有效数字位数,对于实际程序来说,float类型只能保证6位的有效数字,而double类型至少可以保证10位的有效数字。

8、C++的标准并没有规定每种类型占多少位,只是说 “sizeof(long)>=sizeof(int)>=sizeof(short)”,所以具体的字节数都是根据编译器来确定的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值