如果sizeof()给出一个'double'类型的8个字节。然后,双精度类型应该能够存储2 ^ 64位并输出那么多位数,即2 ^ 63 = 9.2233720368548E + 18。
但是我有点奇怪。
1 #include <stdio.h>
2 #include <stdbool.h>
3 #include <math.h>
4
5 int main(){
6 double a;
7
8 a = pow(2, 63);
9
10 printf("Size of Double is = %d bytes\n", sizeof(a));
11 printf("Print full number of 2^63 = %d\n", a);
12
13 return 0;
14 }
代替输出是>
Size of Double is = 8 bytes Print full number of 2^63 = -283958688
[如果您想知道我是否正在64位Ubuntu上运行。
如果sizeof()给出一个'double'类型的8个字节。然后,双精度类型应该能够存储2 ^ 64位并输出那么多位数,即2 ^ 63 = 9.2233720368548E + 18。但是我有点奇怪。 1 ...
64位最多可以表示2 ^ 64 distinct values