
关于C语言的浮点数精度问题,很多人存在误解,他们往往认为精度指的是float、double和long double三种数据类型,这是片面的。
拓展:
浮点数的二进制存储细节:

对于每个不同的浮点数,都有相应的最小可辨识精度(即δ),此最小可辨识精度随着该浮点数的数值变化而变化,具体究竟是多少要具体分析该浮点数的二进制存储内部细节,找到其指数域之后才能确定,我们根据这个最小可辨识精度才能明确判定代码中所有对此浮点数的运算是否有效,否则可能会由于舍入的问题存在而在逻辑上存在歧义。
下面的代码完美诠释了以上结论:

本文探讨了C语言中浮点数的精度问题,指出人们对精度的理解存在片面性,并详细解释了浮点数的二进制存储细节及最小可辨识精度的概念。通过代码实例展示了如何正确理解和处理浮点数运算。
&spm=1001.2101.3001.5002&articleId=51003380&d=1&t=3&u=e1bcf1c6844845e3ace00b32f5e4f5ab)
5万+

被折叠的 条评论
为什么被折叠?



