zoukankan      html  css  js  c++  java
  • 浮点数默认精度在windows/linux上的差异

    好久没写点什么了。
    浮点数在fpu上处理有个精度控制,可以是单精度(长32bit其中尾数24bit),双精度(长64bit尾数56bit),扩展精度(长80bit,尾数64bit)。这是通过浮点控制字的一个位段来控制的。
    在windows/vc环境(未证实,也许与编译器有关,比如是vc)下,默认的精度是双精度。
    在linux/gcc环境则默认是扩展精度。
    这可以造成你在含有浮点计算的程序移植时出现一些细微的差异。
    win/vc可以通过_controlfp函数改变默认设置,linux/gcc则是用_FPU_SETCW宏。
    另外要说一点,dx初始化时可以选择浮点的精度为单精度,那个接口最终应该也是通过改变fpu的控制字实现的。
  • 相关阅读:
    移动端适配
    javscript_DOM 拖动事件
    Nginx
    文件和二进制数据的操作
    数组方法
    JS异步开发
    网络协议
    八大排序
    硬链接与软链接的区别
    入门计算机一段时间的感想
  • 原文地址:https://www.cnblogs.com/kaikai/p/1400754.html
Copyright © 2011-2022 走看看