【发布时间】:2018-02-05 19:31:11
【问题描述】:
我已经阅读了使用“FLT_MIN”和“FLT_MAX”值作为浮点数的建议。每当我这样做时,代码块都会告诉我它的
最大:3.40282e+038 最小:1.17549e-038
不知道这意味着什么,我试图获得真正的价值并得到了
最大值:47.2498237715 分钟:-34.8045265148
...但这些并不能说明问题。
这是我的代码中的一个 sn-p
char c; // reserve: 1 byte, store 1 character (-128 to 127)
int i; // reserve: 4 bytes, store -2147483648 to 2147483657
short int s; // reserve: 2 bytes, store -32768 to 32767
float f; // reserve: 4 bytes, store ?? - ?? (? digits)
double d; // reserve: 8 bytes, store ?? - ?? (? digits)
unsigned int u; //reserve: r bytes store 0 to 4294967295
c = 'c';
cout << c <<" lives at " << &c <<endl;
i = 40000;
cout << i <<" lives at " << &i <<endl;
s = 100;
cout << s <<" lives at " << &s <<endl;
f = 10.1;
cout << f <<" lives at " << &f <<endl;
d = 10.102;
cout << d <<" lives at " << &d <<endl;
u = 1723;
cout << u <<" lives at " << &u <<endl;
在 sn-p 中,我们可以清楚地看到 short int 的 min-max 值,例如 -32768 - 32767。这些是可以理解的正确值,但对于 float 和 int,实际值并不清楚。
【问题讨论】:
-
每个问题一个问题。见How to Ask。
-
我不明白这个问题。就像在问“42是什么意思?”。你得到的数字是从 FLT_MIN/MAX 返回的最小值/最大值...
-
尽管如此,问题应该分开,将数字限制问题与地址问题分开。
标签: c++ variables floating-point double