浮点数的应用
浮点数的应用
浮点数有的时候就是非常神奇。
一般来说,对于 int
型或 long long
,我们 memset
通常会使用 0x3f3f3f3f
。但是如果对浮点数使用左边这个数,会得到一个非常小的数。对于浮点数,如果你得到一个和 0x3f3f3f3f
差不多大的,可以用 0x42
,如果你用 127
会得到一个非常大的数。long double
也是一样,值只会变大,不会变小。
浮点数甚至可以来做高精度。
如果需要准确表示一个整数,那么 float
可以做到 \(10^{10}\) ,如果用 double
,那么可以做到 \(10^{22}\)。这已经超过 long long
的范围了,如果用 long double
,可以做到 \(10^{27}\) 但事实上,浮点数可以粗略的存下一个数,就是你存下来的这个整数,有可能只保留了若干前面非 \(0\) 的数,后面的数全部变成 \(0\) 。通常可以用来比较大小。 float
可以做到定性 \(10^{38}\) 的大小,double
可以做到 \(10^{308}\) 次方的大小,long double
可以做到 \(10^{4932}\) 的大小。
其中 float
占 \(4\) 位,double
占 \(8\) 位,long double
占 \(16\) 位。