当前位置: 首页 > 网络应用技术

多少位Python浮点(Python定义浮动 - 点号)

时间:2023-03-07 17:10:32 网络应用技术

  简介:本文的首席执行官注释将介绍Python浮点的相关内容。我希望这对每个人都会有所帮助。让我们来看看。

  在计算机的硬件中,浮点数由二进制小数表示。

  [python]查看普通副本

  0.125

  您可以看到1/10+2/100+5/1000,就像二进制十进制的方式相同

  [python]查看普通副本

  0.001

  您可以看到0/2+0/4+1/8。

  这两个小数的实际值是相同的。唯一的区别是0.125是十进制表示,而0.001是二进制表示。不幸的是,大多数小数无法通过二进制小数准确地表示,您输入的小数浮点数只能由二进制表示,只能用二进制表示。存储在机器中的浮点。不管您使用多少二进制数,小数0.1不能准确地用二进制十进制代表。这是一个无限的重复小数小数

  [python]查看普通副本

  0.000110011001111001100110011001100110011001110011 ...

  在运行Python的典型计算机中,浮点数的准确性为53位,因此小数为0.1将以以下形式存储

  [python]查看普通副本

  0.0001100110011001100110011001110011001100111101010

  实际上,我们很容易忘记存储存储的数据是原始十进制的近似。

  [python]查看普通副本

  0.10000000000005555115123125780211815834541015625

  这些数字中的大多数不会被人们使用,因此Python仅显示其四所房屋和五个入口的价值

  [python]查看普通副本

  0.1

  在实际情况下,有许多这样的例子可以解释:

  [python]查看普通副本

  0.1+0.2

  0.300000000000004

  [python]查看普通副本

  回合(2.675,2)

  2.67

  您可以使用小数模块查看准确的浮点的值。

  [python]查看普通副本

  从小数进口小数

  十进制(2.675)

  小数('2.674999999999999982364316059749495321893310546875')))

  只有一种类型的Python本机浮点,称为float,大小为24个字节(我在这里是python3.6,其他版本尚不清楚),这是双重准确性(您播放了一个特别长的小数号,最后,最后一个版本最终它将为您邀请您有效的15-16位,这是双精度浮点数的典型功能),无论浮点数有多短

  Python与其他语言不同。每个变量都是一个对象,并且对象具有各种混合属性方法,因此内存职比其他语言要大得多

  如果您想占据较小的内存并使用单个精度的需求,建议使用第三方库(例如Numpy)来提供可变类型大小的控制。

  这主要是因为浮点的数量实际上保留在计算机中的计算机中,有些则不准确。

  0.1是十进制。被转变为二进制后,它是无限数量的循环:

  0.0001100110011001100110011100111001110011001100110011001100.SesseSsessenceSessessence

  Python保留了双准确度(64)位,并且将切断额外的位,因此您可以看到0.1,但是计算机上的实际保留不准确0.1。

  一些小数是理性的,在转换为二进制后的64位以内,因此精确保存在计算机上。在这些小数参与其中之后,结果通常将非常准确,您不会说。

  浮点的数量非常复杂。这些也是我以前检查信息的记录。您可以自己去Google。

  01

  “将Python中浮点数的操作精度的准确性限制为32位?”

  为什么问这样一个奇怪的问题。存在是合理的~~

  提出此问题的原因是,当使用Python在32位MCU上模拟程序时,两者的结果是不同的。

  区别在于这一观点,我将找到一种挖掘方法的方法。确定其他可能性的所有可能性,即计算准确性的影响。

  MCU的浮动点操作单元为32位,而Python的默认浮点操作为64位(安装64位安装程序包)

  浮动点操作的结果如下:

  32位浮动点的有效数据位为7位,而上述计算结果显然超过7位。

  02

  差异已经很明显,因此如何消除这种差异~~

  选项一:

  使用Round()控制准确性。

  不,单个精度和双准确浮点 - 点操作之间的差异超过一个弹性功能,并且有超过800 ~~

  选项II:

  使用小数模块

  这仍然是我的学习计划~~

  第三个解决方案:

  stackoverflow.com

  问题解决了~~

  03

  使用Numpy模块中的Float32完美解决此问题。

  例如~~

  结尾

  结论:以上是首席CTO注释引入的Python浮动点数的所有内容。我希望这对每个人都会有所帮助。如果您仍然想进一步了解这一点,请记住要收集对该网站的关注。