如何定义我自己的具有特定精度和特定位数的指数和尾数的浮点格式(类型)?例如,具有 20 位指数和 107 位尾数(非标准 15/112 位)的 128 位 float ,或具有 19/236 位指数/尾数的 256 位 float 。
最佳答案
有两种方法可以做到这一点。您可以创建自己的类,其中有一个指数成员和一个尾数成员,您可以为所需的运算符编写代码,然后实现标准数学中通常存在的所有您需要的函数图书馆。 (比如 atan()
、sin()
、exp()
和 pow()
。)
或者您可以找到现有的任意精度库并改用它。虽然自己实现它会很有趣,但它可能会出现很多错误并且需要大量工作,除非您的用例非常受限。
维基百科有 a list of arbitrary precision math libraries您可以自己调查一下。
关于c++ - 如何在 C++ 中定义自定义浮点格式(类型)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27882303/