如果 a 的大小float
是 4 个字节,那么它不应该能够从8,388,607
那里-8,388,608
或附近的某个地方保存数字,因为我可能计算错了。
为什么f
显示额外15
的,因为f
(0.1) 的值仍然在8,388,607
右之间-8,388,608
?
int main(int argc, const char * argv[])
{
@autoreleasepool {
float f = .1;
printf("%lu", sizeof(float));
printf("%.10f", f);
}
return 0;
}
2012-08-28 20:53:38.537 prog[841:403] 4
2012-08-28 20:53:38.539 prog[841:403] 0.1000000015