【发布时间】:2011-12-05 23:07:03
【问题描述】:
下面的C程序演示了十六进制浮点常量的用法
double d;
d = 2;
printf("Ex 1: 2 in hex: %a\n\n",d);
d = 256;
printf("Ex 2: 2^8 in hex: %a\n\n",d);
d = 0.015625; //= 2^-6
printf("Ex 3: 2^-6 in hex: %a\n\n",d);
d = 0.857421875;
printf("Ex 4: 0.857421875 in hex: %a\n\n",d);
结果是:
Ex 1: 2 in hex: 0x1p+1
Ex 2: 2^8 in hex: 0x1p+8
Ex 3: 2^-6 in hex: 0x1p-6
Ex 4: 0.857421875 in hex: 0x1.b7p-1
我不明白如何获得 ex 4 的结果?
【问题讨论】:
标签: c floating-point hex printf