【第二章 变量和基本类型】(一)

本文详细介绍了C++中的基本内置类型,包括算术类型、类型转换规则,以及字面值常量的指定方法,特别关注了布尔字面值和指针字面值。通过实例展示了不同类型在内存占用和运算中的表现。
摘要由CSDN通过智能技术生成

一、基本内置类型



前言

在这里插入图片描述


1.算术类型

在这里插入图片描述

代码验证各个数据类型的大小

cout << sizeof(bool) << " " << sizeof(char) << " " << sizeof(short) << " " 
	<< sizeof(int) << " " << sizeof(long) << " " << sizeof(long long) << " "
	<< sizeof(float) << " " << sizeof(double) << " " << endl;

结果如下:

在这里插入图片描述

2.类型转换

在这里插入图片描述

当一个算数表达式中既有无符号数又有int值时,那个int值就会转换成无符号数

unsigned u = 10;
int i = -42;
cout << i + i << endl;
cout << i + u << endl;

结果如下:

在这里插入图片描述

int类型占4字节,计算机以补码形式存储数据。
-42的补码为0xFFFFFFD6,10的补码为0x0000000a,相加后值为0xFFFFFFE0,转换成10进制后就是4294967264
切勿混用带符号类型和无符号类型

3.字面值常量

1.十进制字面值是带符号数:int,long,long long
2.八进制和十六进制字面值即可能是带符号的也可能是无符号的
3.浮点型字面值默认是一个double
4.字符串字面值的类型实际上是由常量字符构成的数组

指定字面值类型

L'a'       //宽字符型字面值,类型是wchar_t
u8"hi!"    //utf-8字符串字面值(utf-8用8位编码一个Unicode字符)
42ULL      //无符号整型字面值,类型是unsigned long long
1E-3F      //单精度浮点型字面值,类型是float
3.14157L   //扩展精度浮点型字面值,类型是long double

在这里插入图片描述

布尔字面值和指针字面值

布尔字面值是true和false
nullptr是指针字面值


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值