我正在寻找IEEE-754操作的参考实现。真的有这样的事情吗?
发布于 2010-02-03 03:37:56
我相信C库SoftFloat和fdlibm适合您正在寻找的东西。其他包括Linux (GNU libc,glibc)或*BSD libc的math functions。最后,您也应该对CRlibm感兴趣。
Ulrich Drepper有一个有趣的look at different math libraries,可能也值得一读。
发布于 2010-02-03 03:44:49
我必须让你失望:实际上什么都没有。
虽然从技术上讲,存在符合IEEE-754的系统,因为它们没有实现标准中描述的非必需功能,但参考实现允许
在标准语言中不存在。这给William Kahan带来了反复出现的麻烦,他是该标准及其在Intel处理器上的改编背后的主要力量。
我不知道是否有一些深奥的语言支持它们,但我可以排除Java,C#,C++,Fortran。
编辑:虽然缺少编译器支持,但我建议Hauser使用mctylr提供的SoftFloat实现。Hauser知道自己在做什么。
http://portal.acm.org/citation.cfm?id=227699.227701&coll=portal&dl=ACM&CFID=77938829&CFTOKEN=18578907
发布于 2010-02-03 03:14:16
这是一个相当令人困惑的问题;在C++中,假设这类细节由硬件或编译器处理。因此,在C++中,浮点加法应该是
float a = 1.0;
float b = 2.0;
float c = a + b;我敢肯定这不是你真正想要的;也许你会从this page中受益,它试图用javascript模拟IEEE-754兼容的硬件?
https://stackoverflow.com/questions/2186788
复制相似问题