来自一篇文章:
“GNU CC识别不仅以通常的十进制表示法写入的浮点数,例如1.55e1,而也用十六进制格式写的0x1.fp3等数字。格式化0x十六进制导引器和p或P指数字段是必需的。指数是一个十进制数,表示有效位部分乘以2的幂。因此0x1.f是1 15/16,p3乘以8 ,0x1.fp3的值与1.55e1相同。“
似乎说0x1.fp3被评估为=(1 + 15/16)* 2 ^ 3
15/16来自哪里?
答案 0 :(得分:5)
由于它是十六进制格式,因此0.1
表示1/16
,0.2
表示2/16
,... 0.a
表示10/16
,... 。0.f
表示15/16
。