5、C++基础概念与编程范式解析

C++基础概念与编程范式解析

1. 浮点数及其局限性

浮点数允许处理从10 - 38到10 + 38的大范围数值,其小数点位置“浮动”,取决于指数值。但浮点数存在精度限制,在进行加减法运算时,如果参与运算的数值量级差异显著,可能会出现问题。例如,将.365E - 3与.365E + 7相加,结果转换为7位精度的浮点数后,小数部分被忽略,加法操作看似没有产生效果。此外,当两个数值接近时,计算它们的差值可能会导致结果精度大幅降低,甚至得到无意义的数值。因此,在使用浮点数进行计算时,需要考虑数值范围和相对大小,以确保计算结果的有效性。

2. 字符表示

计算机中的数据本身没有内在含义,字符通过唯一的整数代码(代码点)来表示。例如,值42既可以表示六周的天数,也可以表示星号字符,具体含义取决于解释方式。在C++中,单个字符可以用单引号括起来,编译器会生成对应的代码值。

2.1 ASCII码

20世纪60年代定义的美国信息交换标准代码(ASCII)是一个7位代码,共有128个不同的代码值。其中,0 - 31表示各种非打印控制字符,65 - 90对应大写字母A - Z,141 - 172对应小写字母a - z。小写和大写字母的代码仅在第六位不同。然而,7位ASCII码无法满足法语、德语等语言中带重音和变音符号字符的需求。为了克服这一限制,出现了8位扩展ASCII码,0 - 127的代码值与7位ASCII码相同,128 - 255的代码值可变。例如,Latin - 1是一种8位ASCII码变体,可用于大多数欧洲语言。但对于韩语、日语或阿拉伯语等语言,8位编码仍然不够。

2.2 UCS和Unicode

通用字符集(UCS)定义

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值