Binary 请解释Goldberg 91中的定理7
定理7 当β=2时,如果m和n是| m |<2^(p-1)的整数,且n具有特殊形式n=2^i+2^j,则(mn)n=m,前提是浮点运算是精确四舍五入的Binary 请解释Goldberg 91中的定理7,binary,floating-point,rounding,ieee-754,divide,Binary,Floating Point,Rounding,Ieee 754,Divide,定理7 当β=2时,如果m和n是| m |
如果我把全部证据都贴在这里,它会很长,很难看。因此,请单击右侧的链接,按ctrl+F,然后找到
定理7
。就在那里
好的,我必须说,至少从我自己的角度来看,定理7的证明太奇怪了,难以理解,尽管作者声称它很巧妙
我唯一能理解的是,m在二进制点的右边最多有1位。是的,我知道,但是为什么那么n*qbar会变成m
?我也不能理解所谓的“中间方案”以及从那句话开始的几乎所有事情
欢迎任何帮助,提前谢谢
编辑:
有趣的是,下面的第一条评论一下子解决了我所有的问题,第二条评论建议我缩小我的文章范围
对。要求一个人解释全部证据是不人道的。现在我的问题是:
为什么初始未标度m的低阶位为0
(见公式9下面的段落)?最高有效位不应该是零而不是最低有效位吗?这与“大端”或“小端”有关吗?首先,让我们用2来缩放n。n应大于或等于2^p-1,小于2^p。标度n将由n'捐赠。缩放不会有任何区别。指数是被修改的,因为数字是二进制的,我们只需要关注有效位/尾数
接下来,m被缩放,产生m',因此q'=m'/n'
,小于1,大于1/2(事实上,我认为应该有1/2
)。这样的缩放是可能的,因为上界是下界的两倍,β=2
如我们所见,2^p-1≤ n'<2^p
和1/2
,而m'=q'*n'
。由于q'和n'为正,m'的最大值是n'和q'最大值的乘积,即2^p*1=2^p
。同样,m'的最小值是2^p-1*1/2=2^p-2
既然2^p-2
,我们可以说p-2
,那么二进制点右侧的位数将是p-1(当log2(m')
在p-2和p-1之间时发生)或p(当log2(m')
大于或等于p-1时)。因此,m'在二进制点的右边最多有一位
正如马克·迪金森(Mark Dickinson)所说,因此,m'和下一个精度p浮动上/下之间的差值至少为1/2。所以为了表示一个量将四舍五入到m',就足以表示它在m'的1/4之内
除此之外,“中间情况”,即数量正好是m的1/4的情况,值得单独讨论:由于初始未标度的m具有|m |<2*p-1
,因此它至少在二进制点右侧有一位,原因与上述相同。m是一个整数,因此二进制点右边的所有数字都是零。当然,出于这个原因,它的低阶位是0。因为缩放对有效位/尾数没有影响,所以m'的低位也是0
因此,使用舍入到偶数,这是原作者通过写“在本文的其余部分中,将使用舍入到偶数”而采用的。上面(您可以再次使用ctrl+F来查找它),m'+1/4(二进制中的0.01)将舍入到m',因为0是偶数
也就是说,如果q̄=mn,证明定理需要证明
|n'*q̄-m'|≤ 1/4
更新1
q'是一个有理数,并且q'<1,所以我们可以假设q'=0.q1 q2。。。在二进制中,其中qi,其中i=1,2,3。。。是包含0或1的单个数字。设q̂=0.q1 q2。。。qp 1。小心,这个标记是“q-hat”,而不是“q-bar”,它是我刚刚引入的一个新变量
现在,如果我们将q̂左移p+1位,我们将得到一个整数,即q1 q2。。。qp 1,因为所有位都在二进制点的左侧。我以后会用N来表示这个整数。因此,|q̂-q'|=|N/2^(p+1)-m'/N'|
N的低位是1,因此我们知道N=1+(qp*2^1+qp-1*2^2+…+q1*2^p)
。显然,N是一个奇数整数。最初,n=2^i+2^j
。因为缩放一个数字只是将其乘以或除以2,所以n'仍然是2的两个指数之和。让它们成为n'=2^i'+2^j'
。为了方便起见,假设i≥ j'
2^p-1≤ n'<2^p
,所以2^p-1≤ 2^i'+2^j'<2^p
。因此,占n'较高比例的i'必须是p-1。要使n'小于2^p,j'必须不等于i'。为了可读性,让k=j',所以k≤ p-2。因此,
。(将所有n替换为n',m替换为m')
我建议你自己用一些草稿纸来验证这个公式
更新2
看看分子|(2^(p-1-k)+1)*N-2^(p+1-k)*m'
。正如我们已经证明的,k≤ p-2,所以p-1-k≥ 1
,确保2^(p-1-k)
和2^(p+1-k)
是均匀的。(2^(p-1-k)+1)
和N
都是奇数,因此(2^(p-1-k)+1)*N
是奇数,而2^(p+1-k)*m'
是偶数,奇数不能等于偶数。因此,(2^(p-1-k)+1)*N-2^(p+1-k)*m'
是一个非零整数。它的绝对值,即分子,因此保证等于或大于1。因此,
| q̂-q'|≥ 1/(n'*2^(p+1-k))
q'<1
和q̄<1
,所以q'*q̄<1
。作为一个