c/c++语言开发共享计算浮点数的位数

是否有任何有效的方法(不将float转换为字符串)以获得浮点数组成的位数(与其长度和精度无关)?


通过这种方式,我可以通过将float乘以它所包含的位数来实现一个相当好的,可移植的,无问题的函数来进行比较/调节。

    问:有没有有效的方法来获得浮点数的位数?
    答:我对此表示怀疑。

    每个有限的FP数都是精确的 ,但可能不是人们认为的确切值。

    由于double典型binary64实现,
    double x = 0.53x值: .5300000000000000266453525910037569701671600341796875位数。
    double x = 0.1x值: .1000000000000000055511151231257827021181583404541015625 55位数。
    数学0.1的下一个最接近的double数是.09999999999999999167332731531132594682276248931884765625有56位数。

    DBL_MAX :十进制,通常约为300位数17976931348623158...6728515625.结尾。

    DBL_MIN :通常为0.000000(~300 zeros) 22250738585072014... (maybe about 700 more digits)

    FP数的比较不需要以十进制表示来确定数字的数量。 要比较FP编号,请使用常用关系运算符>, >=, ==等。

    这些值是说明性的。 因人而异。

      以上就是c/c++开发分享计算浮点数的位数相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/549378.html

      (0)
      上一篇 2021年1月14日
      下一篇 2021年1月14日

      精彩推荐