迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

python 溢出 OverflowError: integer division result too large for a float

作者:迹忆客 最近更新:2022/10/31 浏览次数:

当除法的结果太大时,会出现 Python 溢出错误 “OverflowError: integer division result too large for a float”。 使用floor除法 // 运算符来解决错误,例如 result = large_num // 5

python 除法 overflowerror

下面是一个产生该错误的示例

large_num = 5**1000

# ⛔️ OverflowError: integer division result too large for a float
result = large_num / 5

除法运算符 / 总是产生一个浮点值,但是浮点数总是占用相同的空间。

为了解决这个错误,我们可以使用 floor 除法//

large_num = 5**1000

# ✅ 使用 floor 除法
result = large_num // 5

print(result)

整数的除法 / 产生一个浮点数,而整数的 floor 除法 // 产生一个整数。

使用 floor 除法运算符的结果是数学除法,其中 floor() 函数应用于结果。

只要我们有所需的可用内存,整数就可以存储可变数量的空间。

说明差异的一个好方法是使用带有整数和浮点数的 sys.getsizeof() 方法。

import sys

print(sys.getsizeof(1000))  # 👉️ 28
print(sys.getsizeof(10000000000))  # 👉️ 32

print(sys.getsizeof(3.0))  # 👉️ 24
print(sys.getsizeof(3.00000000000))  # 👉️ 24

sys.getsizeof 方法以字节为单位返回对象的大小。

请注意,整数的大小随着位数的增加而增长,而浮点数占用相同数量的空间,而不管数字由多少位数组成。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Pandas read_csv()函数

发布时间:2024/04/24 浏览次数:254 分类:Python

Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。

Pandas 追加数据到 CSV 中

发布时间:2024/04/24 浏览次数:352 分类:Python

本教程演示了如何在追加模式下使用 to_csv()向现有的 CSV 文件添加数据。

Pandas 多列合并

发布时间:2024/04/24 浏览次数:628 分类:Python

本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。

Pandas loc vs iloc

发布时间:2024/04/24 浏览次数:837 分类:Python

本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便