考虑以下代码:
test = np.ones((200,200))
test = test*20000
test_int8 = test.astype(np.int8)
实现此方法时,我得到的test_int8
是32,为什么?通常,如果存在一个数组,其值超过我要转换为dtype的最大值,那么python如何处理呢?
20000
在32位二进制文件中是0000 0000 0000 0000 0100 1110 0010 0000
。
如您所见,最后八位0010 0000
是32
。
如果将具有较高位数的int转换为较低位数,则高位将被切除(您可以说几乎是...堆栈溢出了(不是完全))。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句