C++学习笔记Day2

Day2

C++有一组基本的原始数据类型,它们对应于计算机的基本存储单元和使用这些单元去保存数据的一些常见方式,这些原始数据类型基本上构成了我们在程序中存储的任何类型数据的基础.
在计算机中最小的信息单位是bit,即一个二进制位. 8个bit组成一个Byte,也就是字节。一个存储单元可以存储一个字节,也就是8个二进制位。

1Bytebit7bit6bit5bit4bit3bit2bit1bit0
组成元素0/10/10/10/10/10/10/10/1

而计算机中的内存就是由这样字节为最小单位的存储空间组成,为了方便寻址,给每个字节起了一个编号,这个编号就被称为地址.

地址bit7bit6bit5bit4bit3bit2bit1bit0
0x00AFF81800010011
0x00AFF81900000000
0x00AFF81A00000000
0x00AFF81B00000000
0x00AFF81C11001100
0x00AFF81D11001100
0x00AFF81E11001100
0x00AFF81F11001100
0x00AFF82001000000

如上图就是计算机中的一段内存示意图,内存0x00AFF818-0x00AFF81B共4个字节中存储的一个变量,其值为0x00000013,也就是一个int整形,十进制数值为19,(高低地址位存储的顺序依计算机CPU等因素决定)

C++定义了一套包括算数类型(arithmetic type)和空类型(void)在内的基本数据类型.其中算数类型包含了字符,整形数,布尔值和浮点数.空类型不对应具体的值,仅用于一些特殊场合

类型含义最小尺寸
bool布尔类型占用1个字节中的1位
char字符1个字节-8位
wchar_t宽字符2个字节-16位
char16_tUnicode字符2个字节-16位
char32_tUnicode字符4个字节-16位
short短整型2个字节-16位
int整型2个字节-16位
long长整型4字节-32位
long long长整型8字节-64位
float单精度浮点数6位有效数字
double双精度浮点数10位有效数字
long double扩展精度浮点数10位有效数字
  • 布尔类型(bool)的取值只有真(true)或者假(false).布尔量用于表示逻辑运算的结果.例如
void f(int a,int b)
{
	bool bl=(a==b);
}

如果a等于b,bl将变成true,否则为false
在算数和逻辑表达式里,bool都将被转为int,转换之后得到的值再进行各种算数和逻辑运算,如果结果又转回bool,那么0将转为false,所有非零值都转为true.

void f()
{
	bool a=true;
	bool b=true;
	bool x=a+b;		//a+b=2,所以x为true
	bool y=a|b;		//y也为true
}

指针也可以隐式地转换到bool,非零指针转为true,具有零值的指针转为false

  • 字符类型
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值