python - 在 numpy 中,我们如何检测 uint32/int32 上溢或下溢?
问题描述
我很惊讶即使设置 np.seterr(all='raise') 似乎也不会触发 int32 的上溢/下溢错误,尽管文档似乎说这些浮点设置也将应用于整数类型。
这只是快速处理业务的成本,还是有一些自动检测下溢/上溢的方法?我认为 ALU 有一些标志可以很容易地检测到......
import numpy as np
np.seterr(all='raise')
x = np.array(10,dtype=np.uint32)
y = np.array(100,dtype=np.uint32)
z = x-y
print(z) #=> 4294967206
解决方案
这确实只是进行快速处理的成本。请参阅相关的错误案例。
推荐阅读
- c# - 反序列化 JSON,然后将其中的一部分序列化回来
- filesystems - 如何模拟 FatFS?
- amazon-web-services - AWS freeRtos“无法预置设备证书错误:48”
- javascript - 与打字稿语法混淆
- c - 为什么 zsh 会隐藏 ac 程序的错误输出?
- c - 在 C 中打印排序数组时得到奇怪的输出
- mysql - 如何使用 SQL 注入写入文件?
- python - 如何在 numpy 中添加多个矩阵?
- julia - 在 MacOS 上启动 Julia 1.1.1 桌面快捷方式时出现问题?
- python - 有哪些 pip 命令可以删除 pip 安装存储的多余空间?