2

1 と -1 のみを含む整数の大きな配列を fortran で作成する必要があります。最小限のメモリスペースしか必要としないような配列を定義する方法を教えてください。

ありがとうございました

4

2 に答える 2

2

簡単なアプローチ:

use ISO_FORTRAN_ENV

integer (INT8), dimension (N) :: array

これにより、バイトサイズの整数が得られます。(コンパイラがより大きな整数でそれらを実装することを実際に選択しない限り、これは信じがたいようですが、おそらく許可されます。)

配列が本当に巨大でストレージに収まらない場合、変数内のビットにアクセスできますが、それは単純な配列ではありません。

于 2014-03-21T16:41:01.230 に答える
1

-1 をすべて 0 に変換すると、配列のメンバーごとに 1 ビットしか必要ありません。1 と 0 のみを含むこのような変換された配列を考えると、それを 32 ビットまたは任意のサイズの整数にパックすることは難しくありません。

于 2014-03-21T18:15:21.783 に答える