可以使用^{} module检查给定分数是否可以表示:from fractions import Fraction

def can_be_represented(num, den):

f = Fraction(num, den)

return Fraction.from_float(float(f)) == f

因为浮点数使用二进制分数,您很快就会发现,这可以简化为检查分母的二次幂:

^{pr2}$

但是,这不会对分子进行任何边界检查,请通过与^{}中的信息进行比较来添加边界检查:

^{3}$

以上版本测试:分母是2的幂

分子二元指数可以表示

分子中包含重要信息的部分可以进行移位以适应浮点的尾数。在

上述优化但可读性较差的版本是:def can_be_represented(num, den,

_mexp=sys.float_info.max_exp,

_mdig=sys.float_info.mant_dig):

f = Fraction(num, den)

num, den = f.numerator, f.denominator

numbl = num.bit_length()

return (

# denominator is a power of 2

den & (den - 1) == 0 and

# numerator exponent can be represented

numbl <= _mexp and

# numerator significant bits can be represented without loss

(numbl <= _mdig or num << numbl - _mdig >> numbl - _mdig == num)

)

python精确小数点_如何确定小数点是否可以精确地表示为Python float?相关推荐

  1. python 怕网页_他文献查到凌晨两点,我用Python十分钟搞定!

    大家好,我是爱学习的趣习君. 对于应届毕业生来说,今年一定是难熬的一年.本来找工作.写论文就已经是两座大山了,还要面临论文无指导的额外压力. 这让我想到了去年毕业的表弟,当时他为了完成论文,摔烂了三个 ...

  2. python偶数列表_使用条件偶数列表创建带有地图的元组 - python

    这是我的代码: evenorodd=[1,2,3] list1=['a','b','c'] list2=['A','B','C'] res = tuple(map(lambda x: True if ...

  3. python模块大全_哎呀,不错哦!3步带你用Python打造一款智能语音聊天小软件

    最近小编与中科院的同学吃饭的时候,偶然讲起来他最近的一个项目就是利用语音识别的技术和聊天机器人来实现人机交互,简而言之就是我们说话,程序识别出来我们讲的是什么,然后通过聊天机器人跟我们实现交流.我感到 ...

  4. python埃及分数_送你一份低折扣书单,Python就占了6本,人工智能2本

    小编没什么好礼物送给大家的,这里有几本超低折扣的几本书,分享给你,为您省点小钱,不谢哟!此书单中,Python书有6本,少儿编程书4本,人工智能书2本.哪一本是你的菜,自己选吧! 文中这几本书折扣价在 ...

  5. python quit()讲解_看完本文若不能让你学通“Python”,我将永远退出编程界

    许多时候,学习过后的效果不好,可能是一些坏习惯自己还没有意识到!这篇文章教程希望可以给各位一些学习效率高坚持到底的勇气 01 学习上不明白自己要干什么.该干什么,总是让老师在后面推着屁股走.自学的朋友 ...

  6. python码神_哔哩哔哩播放量达458万次python教程,这套“码神”无偿分享哦

    python是一种计算机程序设计语言,在这之前,你可能听说过很多编程语言了,难学的c.火热的java,适合新手的Basic语言等,python就是属于这些编程语言中其中一种我们先普及一下编程语言的基础 ...

  7. python图像分类代码_医学图像 | 使用深度学习实现乳腺癌分类(附python演练)

    乳腺癌是全球第二常见的女性癌症.2012年,它占所有新癌症病例的12%,占所有女性癌症病例的25%. 当乳腺细胞生长失控时,乳腺癌就开始了.这些细胞通常形成一个肿瘤,通常可以在x光片上直接看到或感觉到 ...

  8. 调python返回图片_三个好习惯,帮你写好Python里的异常处理

    如果你用 Python 编程,那么你就无法避开异常,因为异常在这门语言里无处不在.打个比方,当你在脚本执行时按 ctrl+c 退出,解释器就会产生一个 KeyboardInterrupt 异常.而 K ...

  9. python项目了解_神级程序员都是这样来开源 Python 项目!今天算是涨知识了!

    工具和概念 项目布局 当准备一个项目时,正确合理的布局(目录结构)是十分重要的.一个合理的布局意味着想参与开发者不必花时间来寻找某些代码的位置; 凭直觉就可以找到文件的位置.因为我们在处理一个项目,就 ...

最新文章

  1. php类方法语法错误捕获,php语法错误捕获
  2. hdu2716水水哈希
  3. 为了输出“,可以使用如下语句print(“““)————(×)
  4. 每日一笑 | 最真实的商业模式
  5. Linux iptables:规则原理和基础
  6. 令人振奋的好消息!2016年12月8日Google Developers中文网站发布!
  7. Kaggle-自行车租赁人数预测
  8. 玛塔留言板无刷新留言板程序
  9. 剑指offer面试题[22]-栈的压入、弹出序列
  10. mysql 如何解决字段不区分大小写的问题
  11. 你想让自己的产品像病毒一样疯传吗
  12. thinkpad笔记本电脑不按Fn键直接实现F1-F12功能的方法
  13. java中aop和aoc的区别_你喝到的波尔多AOC、AOP红酒是真的吗?
  14. sessionFactory.getCurrentSession()的引出
  15. 淘宝用户行为分析项目报告
  16. java.sql.SQLException: Incorrect string value: ‘\xE4\xB8\x8A\xE6\xB5\xB7‘ for column ‘xxx‘
  17. 如何强制关闭进程linux,4种强制关闭Ubuntu中无响应应用程序的方法
  18. 第三方系统如何与阿里商旅进行对接
  19. android查ip地址,安卓手机查看IP地址的两种方法,  二、进入手机状态
  20. 人工智能的发展,主要经历哪几个阶段?

热门文章

  1. 从Oracle到PostgreSQL:动态性能视图 vs 标准统计视图
  2. 推陈出新:网友解锁 source 命令新的姿势,血的教训!已准备跑路
  3. 你知道,java项目中是如何获取文件地址的吗?
  4. 基础知识 | 对目标检测认识及理解
  5. 后疫情时代,华为云会议如何定义未来会议?
  6. 华为轮值董事长郭平2020全联接大会主题演讲:永远面向阳光,阴影甩在身后
  7. 【API进阶之路】做OCR文字识别,谁说必须要有AI工程师?
  8. 华为云备案服务全面升级,EI助力带来极速体验
  9. 状态空间模型中实际参数估计
  10. Ubuntu系统运行darknet出OSError: /libdarknet.so: cannot open shared object file: No such file or directory