C++容易被忽视的基础知识

本文介绍了C++中容易被忽视的知识点,包括浮点值的上溢下溢、浮点数舍入误差、浮点与整型间的转换问题、scanf与%d的使用、strlen与sizeof的区别、负数转unsigned及大数转字符的取模现象、以及printf的参数读取方式。这些内容对于C++初学者来说是理解语言特性的关键。
摘要由CSDN通过智能技术生成

作为一个java开发者,由于实际需要最近开始接触C++,这是最近接触C++碰到的一些难点和易错点,整理如下,给自己和其他C++的初学者····

通过本文,你可以学到:

1)浮点值的上溢和下溢

2)浮点数舍入误差

3)使用%d显示float值不会把float转化为近似的int值,而是显示垃圾值

4)scanf的读取习惯

5)strlen()函数和sizeof()区别

6)负数转化为unsigned和大于255的值转化为字符相当于取模

7)prinf读取stack里的数字是按%读取的


1.浮点值的上溢和下溢:

如:假设系统最大的float的值为3.4E38,并进行如下操作:

float toobig =3.4E38*100.0f;
print("%e\n",toobig);
这会发生上溢(overflow),pronf()函数显示的值是inf或infinity(或者这个含义的其他名称)
当除以一个很小的数时,如0.1233E-10除以10,结果将失去一位精度,变为0.0123E-10,这种现象称为下溢(underflow).

另外如用asin()返回反正弦值,但输入参数却大于1时返回NaN(Not-a-Number)


2.浮点数舍入误差

将一个数加上1再减去原数,结果为1.如果用浮点计算,可能会有其他结果,如

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值