在 C++ 中,double 能在 8 个字节中存储 1024 位吗?

roc*_*cko -2 c++ numeric-limits

我不明白这里发生了什么事。

我发现以下数据类型的大小(以字节为单位):

char:1
int:4
float:4
double:8
long long int:8

Now long long int max size is 9223372036854775807
whereas double max size is 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000
Run Code Online (Sandbox Code Playgroud)

什么!!!

double 先生如何在短短 8 个字节中存储如此大的值???

T.C*_*.C. 5

我需要多少位十进制数字来表示 0 到 10 100 - 1 之间的每个整数?

答案应该是显而易见的:100 位数字。

如果我只需要 7 位有效数字,那么需要多少位十进制数字来表示 0 到 10 100 - 1 之间的整数值?

您只需要 9。每个数字都可以表示为 ABCDEFG * 10 HI

double其工作方式大致相同。