2015-04-03 56 views
1

从文章:ç浮点数0x1.fp3

“GNU CC识别浮点不仅在平时的十进制形式写数字,如1.55e1,但也号码如0x1.fp3写在十六进制格式。在这种格式0x 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

十六进制浮点格式的在线参考是http://www.exploringbinary.com/hexadecimal-floating-point-constants/ – 2015-04-03 09:48:31

+0

@RudyVelthuis更正 – 2015-04-04 08:55:16

回答

5

由于它是十六进制格式,然后0.1意味着1/160.2意味着2/16,...... 0.a意味着10/16,...,0.f意味着15/16