2024-09-28 22:42:51 发布
网友
我正在用python编写一个加密方案,所以我一直使用任意精度的数字(long)。我使用的是python2.7。你知道吗
long
我的问题是,我需要得到一个数字中最重要的两个字节(16位),并检查它们是否是我插入的填充。我试过sys.getsizeof(),但这给出了整个对象的大小,我猜我也可以每隔几位迭代一次,直到只剩下两个字节,但是有没有比pythonian更适合的方法呢?你知道吗
sys.getsizeof()
提前谢谢。你知道吗
这应该能帮到你:
>>> n = 1 << 1000 >>> n.bit_length() 1001 >>> n >> (n.bit_length() - 16) 32768L
使用long.bit_length()。例如:
long.bit_length()
% long.bit_length(1024L) 11
或:
% 1024L.bit_length() 11
要获得前2个字节,假设“first”表示“最低有效”,请使用模16:
x = 123456789 x % 2**16 52501
这应该能帮到你:
使用
long.bit_length()
。例如:或:
要获得前2个字节,假设“first”表示“最低有效”,请使用模16:
相关问题 更多 >
编程相关推荐