我很困惑为什么浮点数中可能存在舍入错误。有人能给我看一个一两个吗?他们的最小值和最大值是多少?这是否意味着我得到每一个(不是每一个......如果不是多少?)最小/最大之间的数字和小数?
所以,如果我想拥有一个一个国家的人口。即美国,我应该为此目的选择整个浮标或者它们没有效果。记忆力,效率,考虑在内。如果没有考虑到,那会是什么答案?人口数量将是整数。
这些问题非常简陋,而且在网页上有很长的细节,但我很难将它们拼凑在一起,因为它们变得非常复杂。
感谢您的时间。
PS:如果这些问题措辞严厉,请通过评论告诉我。我会编辑,以便更清楚。
答案 0 :(得分:1)
不,你不能不应该使用float。 float& int是32位存储类型&你没有得到任何范围明智。
例如,如果尝试使用signed int 2147483647
的最大值,则浮点数会为您2.14748e+09
因此,如果是人口统计,则会丢失3647
。
您可以使用的最好的是64位类型int(C / C ++中的类型long long
),适用于更长的范围。
修改强>:
关于效率,最有效的类型始终是int
,其中包含机器的字大小。
浮点数要求机器另外使用数学处理单元。
因此,如果它是32位机器,则32位是最快的&效率最高。