它看起来并不像是一个小小的' (32对64)处理器,请参阅http://www.cs.princeton.edu/~wayne/teaching/fibonacci-heap.pdf帖子的评论,特别是:
好的答案。正如我在上面的评论中提到的,我能够在使用64位ARM处理器的Raspberry Pi 3上复制@ suzep136的问题。知道为什么在64位架构上会出现溢出问题吗?我唯一能想到的是lapack / blas是为32位内核编译的;我想我通过apt-get安装了numpy。 - nrlakin
也不是C中int的大小,例如在我的机器上:
>>> import numpy, ctypes
>>>
>>> ctypes.sizeof(ctypes.c_int)
4
>>> numpy.array([1]).dtype
dtype('int64')
那么,它取决于什么?
编辑:还有另一位候选人,谢谢你们:
LAPACK在所有体系结构上使用32位整数 - ev-br
编辑:部分答案为this。谢谢Goyo。 我已复制此内容并将其设为here,因此您可以添加更精细的内容,例如CW或Jython中发生的内容。我也对这种选择是否有更深层次的原因感兴趣。
答案 0 :(得分:1)
答案 1 :(得分:0)
好的,所以我可能会误解你的问题但是如果你看看Numpy Documentation我的猜测是numpy根据最大位大小可能上升或下降给定系统来分配位值建筑。基本上,因为您没有指定整数“容器”只需要8或16位长度,它默认为64位计算机上可能的最大容器。
如果你想找到比特数python有一个内置的“bit_length()”函数。请在此处查看:https://docs.python.org/3.6/library/stdtypes.html#int.bit_length
希望这能回答你的问题。