最近在自学c语言,学到数据和c 其中说:C99为表示浮点常量新添加了一种十六进制格式,并举例: oxa.1fp1

最近在自学c语言,学到数据和c 其中说:C99为表示浮点常量新添加了一种十六进制格式,并举例: oxa.1fp1,第1张

C99 的 p 格式 浮点常量 表示法 比较新,我也没有全部搞懂。

p 格式 类似 e 格式, e格式 1e2 表示 1.0 * (10 的 2次方)= 100.0

p 格式 阶码部分,我尚不清楚 它 是不是 应当等于 2 的阶码次方。

但我知道 0xa.1fp1 这个数 应当分成几部分来看。

0x -- 注意 0 是数字,x 是 字母 x, 表示 下面 的数 是 16 进制。

a.1f -- 也就是 p 以前,0x 以后, 是 带小数点的 16 进制 数。

1 -- p 后部分 是 阶码。

-----------

16 进制 a.1f 化成 十 进制 = 10 + 1.0/16 + 15.0/256 = 10.121094

因为 16 进制 a 等于 十进制 10,16 进制 f 等于 十进制 15, 小数点下第一位 有 1 则 等于 十六分之1, 小数点下第二位 有 1 则 等于 256分之1

----------

10.121094 乘 2 的 10 次方 (即1024)才能得 10364.0

猜测 你漏写了最后一个0: 0xa.1fp10

p10 == 2 的 10 次方 (即1024)

你这样写不太好,我建议使用结构体来存储数据,可以一开始初始化一个大一点的结构体数组,在主程序里面用一个while循环(你可以设一个标志为退出),同时在里面用switch表示各个功能项,增加会员信息就是在结构体数组中增加一个成员,修改就是修改指定结构体成员的属性值。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11733083.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存