2017-10-10 6 views
0

大きな整数値を持つ配列に点滅しています。整数の答えが必要です。私はどのようにしてnp.dotを正確な整数の答えを返すようにしますか

a.dot(b) 

すなわち何もしない場合 私のソリューションを使用することです:

np.array(a.dot(b),dtype = np.uint64) 

これは動作しますが、非常に不格好です! より簡単な方法はありますか?

+0

へとゼロの配列を未変換する私の方法です。 'dot'は私が知る限り常に浮動小数点型を返します。代わりに 'ndarray.astype'を使うことができます。 –

+1

サンプル配列を表示し、numpyのバージョンを指定してください。 1.13.1のnpバージョンで問題を再現できません。 –

+0

'a'と' b'のdtypesを 'int'に設定しました。 – percusse

答えて

0

2つの配列が大きな整数であると指定すると、大きな整数が得られるように見えます。

import numpy as np 
b = 2**np.arange(49, dtype = np.uint64)[::-1] 
a = np.zeros(49,dtype = np.uint64) 
a[0] = 1 
c = a.dot(b) 
print (c,type(c)) 

ちなみにこれは、あなたがより多くの基本的な機能から機能を実装していない限り、本当に整数表現

関連する問題