sam452148 2022-01-03 18:36 采纳率: 100%
浏览 25
已结题

为什么用pycharm算自然对数E的时候,x等于16个9和x等于15个9差这么多?

问题遇到的现象和发生背景

当我用pycharm算自然对数的时候

我写了

x =999999999999
E = (1+(1/x))**x

print(E)

结果发现如果9的数量如果在14个以内的时候,都接近2.71,
但是当9的数量在15个的时候,就会突然跳到3

问题相关代码,请勿粘贴截图

img

img

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

还请大家给我解答一下 谢谢啦

  • 写回答

2条回答 默认 最新

  • chuifengde 2022-01-03 21:11
    关注
    用decimal 279是上限,默认的精度是28
    from decimal import Decimal
    x = Decimal(999999999999999999999999999)
    E = (Decimal(1.0) + (Decimal(1.0) / x))**x
    print(E)
    '''--result
    2.718281828459045235360287467
    '''
    如果调整它的精度,可以实现小数位后很多位
    from decimal import Decimal, getcontext
    getcontext().prec = 200
    x = Decimal(99999999999999999999999999999999999999999999999999999999999999999999)
    E = (Decimal(1.0) + (Decimal(1.0) / x))**x
    print(E)
    '''--result
    2.7182818284590452353602874713526624977572470936999595749669676277240630389444052993452053770878096641149776056965345601239425787584904229065942094261371933698155615639217959757570015541686883824572413
    
    '''
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月14日
  • 已采纳回答 1月6日
  • 创建了问题 1月3日

悬赏问题

  • ¥15 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助