是52位还是53位浮点精度? [英] Is it 52 or 53 bits of floating point precision?

查看:429
本文介绍了是52位还是53位浮点精度?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我继续看到这种在64位IEEE浮点表示法中约53位精度的废话.有人可以向我解释一下,世界上被1所卡住的东西如何对数值精度有任何贡献?如果您的浮点单元的bit0固定为1,那么您当然会知道它产生的精度比正常情况低1位.这些敏感性在哪里?

此外,只有指数(不带尾数的比例因子)完全指定了数字的前导位的确切位置,因此从未使用过任何前导位.第53个钻头与第19个钻头差不多真实.它只是(有用的)拐杖来帮助人类的思想和逻辑来访问二进制值.否则,就是重复计算.

所有声称这第53位胡说八道的书籍和文章都是错误的,或者我是个白痴.但是卡住就是卡住.让我们听听相反的论点.

解决方案

IEEE-754 64位二进制浮点对象的数学意义 1 具有53位.它使用专用于有效位的52位字段和来自指数字段的一些信息(它们指示53 rd 位是0还是1)的组合进行编码.

由于主要有效位字段是52位,因此有人将有效位称为52位,但这是草率的术语.有效数字字段不包含有关有效数字的所有信息,完整的有效数字为53位.

从不使用有效位数的前导位(不是1)是不正确的.当指数的编码为零时,有效位数的前导位为0而不是更频繁的1.


1 有效"是首选术语,而不是尾数".有效数字是线性的,尾数是对数的.

I keep on seeing this nonsense about 53 bits of precision in 64-bit IEEE floating point representation. Would someone please explain to me how in the world a bit that is stuck with a 1 in it contributes ANYTHING to the numeric precision? If you had a floating point unit with bit0 stuck-on with 1, you would of course know that it produces 1 less bit of precision than normally. Where are those sensibilities on this?

Further, just the exponent, the scaling factor without the mantissa, completely specifies exactly where the leading bit of the number is, so no leading bit is ever used. The 53th bit is about as real as the 19th hole. It is merely a (useful) crutch to aid the human mind and the logic for accessing such values in binary. To claim otherwise is double counting.

Either all the books and articles claiming this 53rd bit nonsense are wrong, or I am an idiot. But a stuck bit is a stuck bit. Let's hear the arguments to the contrary.

解决方案

The mathematical significand1 of an IEEE-754 64-bit binary floating-point object has 53 bits. It is encoded with the combination of a 52-bit field exclusively for the significand and some information from the exponent field that indicates whether the 53rd bit is 0 or 1.

Since the main significand field is 52 bits, some people refer to the significand as 52 bits, but this is sloppy terminology. The significand field does not contain all the information about the significand, and the complete significand is 53 bits.

It is not true that the leading bit of the significand is never used (as anything other than 1). When the encoding of the exponent is zero, the leading bit of the significand is 0 instead of the more frequent 1.


1 "Significand" is the preferred term, not "mantissa." A significand is linear, a mantissa is logarithmic.

这篇关于是52位还是53位浮点精度?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆