我想在尺寸爲128x2
的NumPy中創建一個二維維數組,並在其中存儲長整數(每個整數具有128位大小)。在Python中使用NumPy的打印格式
CODE:
keys = np.zeros(shape=(128, 2))
for i in range(0, 128):
key1 = random.randrange(1 << 127, 1 << 128)
key2 = random.randrange(1 << 127, 1 << 128)
keys[i, 0] = key1
keys[i, 1] = key2
print(keys)
隨機密鑰具有以下的輸出:
212325597117085680729458082297541802625
但是當我打印我的鑰匙陣列我得到了以下的輸出:
OUTPUT:
[[ 3.24916136e+38 1.88464325e+38]
[ 3.01375156e+38 2.73451722e+38]
[ 1.85204001e+38 2.47016718e+38]
[ 1.85813038e+38 2.66817805e+38]
[ 1.93774249e+38 2.62902937e+38]
[ 2.77003163e+38 2.13490918e+38]
[ 1.92502885e+38 3.28965325e+38]
[ 3.03869869e+38 2.27308256e+38]
[ 2.97958126e+38 2.50477741e+38]
[ 1.82747542e+38 2.17062238e+38]
[ 2.59264124e+38 3.17242510e+38]
[ 2.43152125e+38 3.33742346e+38]
etc
如何以原始格式打印密鑰?
'numpy'沒有128位整數類型(至少在我用過的任何平臺上都沒有)。你想如何將它們存儲在你的數組中?作爲Python對象?作爲字符串?你目前的代碼是使用雙精度浮點數(64位在符號,尾數和指數之間劃分),這將失去不少最不重要的位。 – Blckknght
你看過numpy.set_printoptions()嗎? –