C++系列:C++内置类型,变量,自定义类型(3)

1. 内置类型

基本内置类型包含,字符,整型,浮点数等。同时,提高自定义数据类型的机制。

类型 含义 最小尺寸(比特)
bool 布尔类型 未定义
char 字符 8位
wchar_t 宽字符 16位
char16_t Unicode字符 16位
char32_t Unicode字符 32位
short 短整型 16位
int 整型 16位
long 长整型 32位
long long 长整型 64位
float 单精度浮点数 6位有效数字
double 双精度 10位有效数字
long double 扩展精度浮点数 10位有效数字

基本概念

位(bit):是计算机所能表示的最小的、最基本的数据单位。由于计算机使用的是二进制数,因此一位就是一个二进制数。

字节(Byte):一个连续8位的二进制数码称为一个字节,即1Byte=8bit。

字(Word):一般由两个字节组成,即16位二进制数码组成,显然1Word=2Byte=16bit。

双字((Double Word):两个字组成,即四个字节(32位)。

字长:字长是计算机一次处理二进制的位数。(MCS-51是8位单片机,字长就是8位)

内置类型的机器实现

计算机以比特序列存储数据,每个比特非0即1,例如

001110011100000...

大多数计算机以2的整数次幂个比特作为块来处理内存,可寻址的最小内存块称为“字节(byte)”,存储的基本单位称为“字(word)”,它通常由几个字节组成。

在C++语言中,一个字节要至少能容纳机器基本字符集中的字符。 大多数机器的字节由8比特构成,字则由32或者64比特构成,也就是4或者8字节。

大多数计算机将内存中的每个字节与一个数字(被称为地址(address))关联起来,在一个字节为8比特,字为32比特的机器上,一个字的内存区域如下:

在这里插入图片描述

其中,左侧为字节的地址,右侧为字节中8比特的具体内容。

如果位置73624处的对象是float,并且机器中float以32比特存储,那么,我们就能知道这个对象的内容占满了整个字。

在C++中,通常float以1个字(word)(32比特)来表示,double以2个字(64比特)来表示,long double 以3或者4个字(96或者128比特)来表示。

一般来说,类型float和double分别有7和16个有效位。

从无符号数减去一个值,确保结果不能是负值。

#include <iostream>
using namespace std;
int main(){
   
   
	unsigned u1 = 42, u2 = 10;
	cout << u2 - u1 << '\n';
	cout << u1 - u2 << '\n';
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

rosefunR

你的赞赏是我创作的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值