初学C语言的感悟

C语言 | 2020-04-20 15:14:23 | 阅读 731 次 | 评论(2)

刚刚开始学C语言,写个博客纪念一下

对待电脑编译系统切不可像对待数学一样严谨,尤其是浮点数的运算和赋值,无论多么精确的数字,进入电脑的存储系统后,因为电脑存储方式的原因,任何数据都会产生误差,这些误差有的大有的小,可能不会对结果产生影响,但也有可能对结果产生极大的影响,并且结果往往是意想不到的。

例如博主学习过程中遇到的一个float强制转int的例子:

捕获.PNG (上传于2020-04-20 15:14:23)
捕获.PNG

此处就是浮点型数据强制转换为整型数据损失精度的例子,原因类似于int型的3被强制转换为float型时,有可能被存储为2.999999,但用户是感受不到存储时发生的精度损失的,因而会产生结果有误差存在。

正在准备学习《计算机组成原理》来深入理解这个问题,立帖为证。




文章评论,共2条
Avatar
1楼: taturuhong 发表于 2020-04-26 17:28   回复
因为是按规则存储浮点数 有疏落
Avatar
2楼: 萌新想学编程 发表于 2020-04-26 17:35   回复
老师,收徒弟吗?我想变得跟你一样。
游客请输入验证码
浏览1458次