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. 岭回归(Ridge Regression)

    一.一般线性回归遇到的问题 在处理复杂的数据的回归问题时,普通的线性回归会遇到一些问题,主要表现在: 预测精度:这里要处理好这样一对为题,即样本的数量和特征的数量 时,最小二乘回归会有较小的方差 时, ...

  2. 20154312 曾林 Exp5_MSF基础应用

    --目录-- MSF渗透测试-CVE-2017-11882 1.基础内容回答 2.实践过程记录 2.1.主动攻击实践-ms08_067 2.2.针对浏览器的攻击-ms10_046 2.3.针对客户端的 ...

  3. python excel操作 练习-#操作单列 #操作A到C列 #操作1到3行 #指定一个范围遍历所有行和列 #获取所有行 #获取所有列

    ##操作单列#操作A到C列#操作1到3行#指定一个范围遍历所有行和列#获取所有行#获取所有列 #coding=utf-8 from openpyxl import Workbook wb=Workbo ...

  4. nginx 总结

    本文转自:http://freeloda.blog.51cto.com/2033581/1288553 ,感谢大神的辛勤付出! 大纲 一.前言 二.环境准备 三.安装与配置Nginx 四.Nginx之 ...

  5. javashop技术培训总结,架构介绍,Eop核心机制

    javashop技术培训一.架构介绍1.Eop核心机制,基于spring的模板引擎.组件机制.上下文管理.数据库操作模板引擎负责站点页面的解析与展示组件机制使得可以在不改变核心代码的情况下实现对应用核 ...

  6. C/C++之static函数与普通函数

    全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量.全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式.这两者在存储方式上并无不同.这两者的区别虽在于非静态全局变量 ...

  7. Sony/索尼 NW-ZX300A ZX300 无损音乐播放器4.4口

    https://item.taobao.com/item.htm?spm=a1z0d.7625083.1998302264.6.5c5f4e69ELHOcm&id=557859816402 ( ...

  8. 20145318《网络对抗》注入shellcode及Return-to-libc

    20145318<网络对抗>注入shellcode及Return-to-libc 注入shellcode 知识点 注入shellcodeShellcode实际是一段代码(也可以是填充数据) ...

  9. vijos 1096 津津的储存计划

    题目描述 Description 津津的零花钱一直都是自己管理.每个月的月初妈妈给津津300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同. 为了让津津学习如何储蓄,妈妈提出,津津可以 ...

  10. Python3基础 函数 未指定返回值,返回NONE

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