- 论坛徽章:
- 2
|
>> 2. 能将浮点数输出成hexaformat的字符串(C99 printf的%a实现)
- double x = ...;
- unsigend char bytes[sizeof x];
- memcpy(bytes, &x, sizeof x);
复制代码 然后按整数来?
>> 1. 取得浮点数的所有bits,按照规则填入某个确定的结构体(fpbits)
取bits和上面一样吧。。。
"所有bits"的意思其实是将所有bits分类并取出? 解析bit pattern?
这C标准肯定不会规定的。。。 连整数都暧昧不明。。。 就不要指望浮点了。。。
>> 3. 能按照规则将浮点数输出成字符串(C99 printf的f,d,e,E,g,G等等实现)
同上。。。 C就是这么拽。。。
>> 这个倒不能怪他,毕竟兼顾了几乎所有的硬件平台了
这样呢? 就先只负责IEEE754。
对其他的找个靠谱的fallback。。。 比如你提到的那个gdtoa,又或者libc。。。
等真正遇到非IEEE754的时候再说。。。
这么多古怪的机器哪有精力研究完。。。
说不定gdtoa支持的那些"所有"硬件平台当中许多都已经不存在了呢。。。
BTW:如果找到满意的了麻烦通知一声。。。
|
|