C浮点数0x1.fp3

时间:2015-04-03 04:50:38

标签: c gcc floating-point c99

来自一篇文章:

“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来自哪里?

1 个答案:

答案 0 :(得分:5)

由于它是十六进制格式,因此0.1表示1/160.2表示2/16,... 0.a表示10/16,... 。0.f表示15/16