python中是否有一个函数来获取任意精度数的大小?

时间:2016-10-13 16:20:03

标签: python arbitrary-precision

我正在使用python中的加密方案,所以我一直使用任意精度数字(long)。我正在使用python 2.7。

我的问题是我需要得到一个数字的最重要的两个字节(16位)并检查它们是否是我插入的填充。我已经尝试了sys.getsizeof()但是它给出了整个对象的大小并猜测我还可以遍历数字的每一个位,直到只剩下两个字节,但是有更多的蟒蛇方式做此?

提前致谢。

2 个答案:

答案 0 :(得分:2)

这应该适合你:

>>> encoder.active_features_
array([1, 3, 5])

>>> len(encoder.active_features_)
3

答案 1 :(得分:1)

使用% long.bit_length(1024L) 11 。 E.g:

% 1024L.bit_length()
11

或者:

x = 123456789
x % 2**16
52501

要获得前2个字节,假设“first”表示“最低有效”,请使用模16:

{{1}}