当前位置: 首页 > 面试题库 >

float.as_integer_ratio()的实现限制

经昱
2023-03-14
问题内容

最近,一位通讯员提到float.as_integer_ratio()了Python
2.6中的新增功能,指出典型的浮点实现本质上是实数的有理近似。出于好奇,我不得不尝试π:

>>> float.as_integer_ratio(math.pi);
(884279719003555L, 281474976710656L)

由于Arima,我没有看到更准确的结果使我感到有些惊讶:

(428224593349304L, 136308121570117L)

例如,此代码:

#! /usr/bin/env python
from decimal import *
getcontext().prec = 36
print "python: ",Decimal(884279719003555) / Decimal(281474976710656)
print "Arima:  ",Decimal(428224593349304) / Decimal(136308121570117)
print "Wiki:    3.14159265358979323846264338327950288"

产生以下输出:

python:3.14159265358979311599796346854418516
有马:3.14159265358979323846264338327569743
Wiki:3.14159265358979323846264338327950288

当然,考虑到64位浮点数提供的精度,结果是正确的,但是这使我提出了一个问题:我如何才能找到有关的实现局限性的更多信息as_integer_ratio()?感谢您的指导。

附加链接:Stern-Brocot树和Python源。


问题答案:

所使用的算法as_integer_ratio仅考虑分母中的2的幂。这是一个(可能)更好的算法。



 类似资料:
  • 实施限制 授权,实质上是关于限制。 基于某些检查,用户可能受到限制。 限制可以在以下两个地方之一中应用: 在RADIUS服务器上 在NAS 当访问请求数据包发送到RADIUS服务器时,在身份验证过程中确定限制。 Accounting-Request数据包不会也不能确定限制。 当在RADIUS服务器上应用限制时,服务器返回一个Access-Reject数据包,该数据包应该包含一个Reply-Mess

  • 本文向大家介绍docker CPU限制的实现,包括了docker CPU限制的实现的使用技巧和注意事项,需要的朋友参考一下 1、--cpu=<value>         1)指定一个容器可以使用多少可用的CPU资源,但无法让容器始终在一个或某几个CPU上运行         2)例如:如果主机有2个CPU,设置--cpus="1.5",则可以报称容器醉倒 容纳一半的CPU,相当于设置--cpu-

  • 问题内容: 一般来说,是否可以限制可以实现接口的类? 更具体地说,通用接口可以将其实现限制为的后代吗? 上下文是对象应以类型安全的方式强制转换为对象。 在用尽所有其他信息源之后,我已经很强烈地预感这是不可能的,但是如果有人可以证明我不满意,我将感到非常高兴! 问题答案: 如果强制转换的能力不是严格必需的,则可以在界面中添加这样的其他方法就足够了: 如果大多数实现实际上都可以扩展,它们可以简单地作为

  • 本文向大家介绍Asp.NET Core 限流控制(AspNetCoreRateLimit)的实现,包括了Asp.NET Core 限流控制(AspNetCoreRateLimit)的实现的使用技巧和注意事项,需要的朋友参考一下 起因: 近期项目中,提供了一些调用频率较高的api接口,需要保障服务器的稳定运行;需要对提供的接口进行限流控制。避免因客户端频繁的请求导致服务器的压力。 一、AspNetC

  • 本文向大家介绍Android ViewPager实现无限循环的实例,包括了Android ViewPager实现无限循环的实例的使用技巧和注意事项,需要的朋友参考一下 Android ViewPager实现无限循环的实例 ViewPager自身并不支持左右无限循环的功能,这里就提供一种方案让Android ViewPager实现左右无限循环的功能,这里记录下: 用于显示的mViews,比数据源mL

  • 本文向大家介绍springboot+jwt实现token登陆权限认证的实现,包括了springboot+jwt实现token登陆权限认证的实现的使用技巧和注意事项,需要的朋友参考一下 一 前言 此篇文章的内容也是学习不久,终于到周末有时间码一篇文章分享知识追寻者的粉丝们,学完本篇文章,读者将对token类的登陆认证流程有个全面的了解,可以动态搭建自己的登陆认证过程;对小项目而已是个轻量级的认证机制