You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Num.to_bytes触发OverflowError:整数过大无法转换的问题求助

问题分析与解决建议

错误原因

4字节(32位)有符号整数的取值范围是 -2147483648 到 2147483647,你要转换的整数 -10947726235 远小于这个范围的最小值,因此触发 OverflowError。

解决方法

将字节数调整为8字节(64位),64位有符号整数的取值范围是 -9223372036854775808 到 9223372036854775807,完全可以容纳 -10947726235。修改后的代码如下:

Num = -10947726235
ByteArray = Num.to_bytes(8, byteorder='little', signed=True)

你可以通过以下代码验证转换的正确性:

# 还原整数
restored_num = int.from_bytes(ByteArray, byteorder='little', signed=True)
print(restored_num)  # 输出:-10947726235

额外提示

如果业务要求必须使用4字节存储,需要先确认该整数是否为预期值——可能存在输入错误或业务逻辑中的数值范围问题,需先将数值修正到4字节有符号整数的范围内。

内容的提问来源于stack exchange,提问作者Zvi Vered

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 23:40:01