浮动值 - 基础知识

时间:2012-12-08 03:44:30

标签: c floating-point int

我很困惑为什么浮点数中可能存在舍入错误。有人能给我看一个一两个吗?他们的最小值和最大值是多少?这是否意味着我得到每一个(不是每一个......如果不是多少?)最小/最大之间的数字和小数?

所以,如果我想拥有一个一个国家的人口。即美国,我应该为此目的选择整个浮标或者它们没有效果。记忆力,效率,考虑在内。如果没有考虑到,那会是什么答案?人口数量将是整数。

这些问题非常简陋,而且在网页上有很长的细节,但我很难将它们拼凑在一起,因为它们变得非常复杂。

感谢您的时间。

PS:如果这些问题措辞严厉,请通过评论告诉我。我会编辑,以便更清楚。

1 个答案:

答案 0 :(得分:1)

不,你不能不应该使用float。 float& int是32位存储类型&你没有得到任何范围明智。

例如,如果尝试使用signed int 2147483647的最大值,则浮点数会为您2.14748e+09

因此,如果是人口统计,则会丢失3647

您可以使用的最好的是64位类型int(C / C ++中的类型long long),适用于更长的范围。

修改

关于效率,最有效的类型始终是int,其中包含机器的字大小。

浮点数要求机器另外使用数学处理单元。

因此,如果它是32位机器,则32位是最快的&效率最高。