table maker's delimma是计算机浮点数精度的一个问题。

浮点数的表示方式

计算机能表示的数字都是有理数,所有的有理数都可以归结为下面的模式:
1.@@@ × 2####

其中,@@@ 和 ####都表示0或1,上式的意思是任何一个有理数总可以表示为1点几 乘以 2的 ####次方。注意,这里都使用的是2进制。

在计算机中一个浮点数就由三部分组成:

  • 符号位,1个bit,0或1表示正负
  • 小数部分,即上面的@@@,对float,小数位有23位,double float有52位
  • 指数部分,即上面的####,float有8位,double float有11位。

不是所有的有理数都可以在计算机里表示。比如x=1.00000000....000001  当中间的0多于51个时,double float也无法容纳小数部分,计算机只能自动截取,把尾部的1忽略掉了。x的表示和1.0没有区别。可以精确存储的数,我们称作可表示的数。

如何近似

计算机无法存储一个无理数,我们只能使用无理数的有理数近似,而且这个。IEEE-745 规定了几种近似方法:靠近0,靠近+∞,靠近-∞,靠近最近的可以表示的有理数。

table maker's delimma 

对sin cos log 这类函数f,计算结果是无理数,我们不能用有限的小数位精确表示。那么如何计算 y=f(x)?计算机中我们使用近似值 y*。我们期望y和y* 的差距足够小。我们期望找到一个最小的整数m,使得 |y-y*|<2-m.

困境在于,无论我们用无法找到一致的m,使得在任何一种近似方法下,保证y和y*的近似值是相同的。

注释一下,这里的“一致”是一致收敛的一致,即对任何y和y*都存在一个相同的m。比如对y1,y1*可以用m1套住,但总有无法用m1套住的y2,y2*

参考:

http://perso.ens-lyon.fr/jean-michel.muller/Intro-to-TMD.htm

http://www.vinc17.org/research/slides/aoc2000-11.pdf

table maker's delimma的更多相关文章

  1. Codeforces Round 500 (Div 2) Solution

    从这里开始 题目地址 瞎扯 Problem A Piles With Stones Problem B And Problem C Photo of The Sky Problem D Chemica ...

  2. maker 2008年发表在genome Res

    http://gmod.org/wiki/MAKER_Tutorial 简单好用 identify repeats, to align ESTs and proteins to the genome, ...

  3. 散列表(hash table)——算法导论(13)

    1. 引言 许多应用都需要动态集合结构,它至少需要支持Insert,search和delete字典操作.散列表(hash table)是实现字典操作的一种有效的数据结构. 2. 直接寻址表 在介绍散列 ...

  4. React使用antd Table生成层级多选组件

    一.需求 用户对不同的应用需要有不同的权限,用户一般和角色关联在一起,新建角色的时候会选择该角色对应的应用,然后对应用分配权限.于是写了一种实现的方式.首先应用是一个二级树,一级表示的是应用分组,二级 ...

  5. 创建几个常用table展示方式插件

    这次和大家分享的是自己写的一个table常用几种展示格式的js插件取名为(table-shenniu),样式使用的是bootstrap.min.css,还需要引用jquery.min.js包,这个插件 ...

  6. html中table边框属性

    1.向右(横向)合并: <td colspan="5"><span>后台管理系统</span></td> 2.向下(纵向)合并: & ...

  7. MySQL中You can't specify target table for update in FROM clause一场

    mysql中You can't specify target table <tbl> for update in FROM clause错误的意思是说,不能先select出同一表中的某些值 ...

  8. 打印Lua的Table对象

    小伙伴们再也不用为打印lua的Table对象而苦恼了, 本人曾也苦恼过,哈哈 不过今天刚完成了这个东西, 以前在网上搜过打印table的脚本,但是都感觉很不理想,于是,自己造轮子了~ 打印的效果,自己 ...

  9. React中使用Ant Table组件

    一.Ant Design of React http://ant.design/docs/react/introduce 二.建立webpack工程 webpack+react demo下载 项目的启 ...

随机推荐

  1. nginx安装,反向代理配置

    1.centos 版本 下载最新稳定版 https://www.nginx.com/resources/wiki/start/topics/tutorials/install/# 2.执行语句: ./ ...

  2. linux常用命令:find命令之xargs

    在使用 find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行.但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出 ...

  3. Linux服务器配置---ftp配置

    FTP其他配置 在配置文件中,还有一些关于vsftpd的其他设置,这里列出来 # Example config file /etc/vsftpd/vsftpd.conf # Allow anonymo ...

  4. 记一次ping: unknown host错误

    虚拟机上一台主机,之前一直在用,可以通过xshell连接,但是忽然发现ping百度失败了! [root@mgt02 ~]# ping www.baidu.com ping: unknown host ...

  5. Linux学习笔记之Centos7安装GNOME桌面环境

    最小化安装Centos7,系统默认是命令行界面,如果像我一样有特殊需求,这时就需要我们手动来安装用户图形界面了. 1.查看一下当前的运行级别和可以安装的group. systemctl get-def ...

  6. maven parent工程.pom修改后未自动更新

    前两周,因为框架parent工程的pom文件做了一点变更,然后在测试服务器进行maven install的时候,死都找不到新的依赖,都把nexus翻了个遍,确定是最新的了,就是download不下来, ...

  7. 七个月学习Python大计

    仅以此篇纪念学习Python征程的开始

  8. Python3基础 函数 局部与全局变量同名,各管各的

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  9. Python3基础 random 配合while输出10个随机整数

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  10. 打印图形|2014年蓝桥杯B组题解析第五题-fishers

    打印图形 小明在X星球的城堡中发现了如下图形和文字: rank=3 rank=5 rank = 6 小明开动脑筋,编写了如下的程序,实现该图形的打印. 答案:f(a, rank-1, row, col ...