2

整数の行列をバイナリ ファイルに保存して読み返す方法を知りたいです。

マトリックスは次のようになります

double mat[][] = {{1, 0, 0, 0}, {1, 0, 1, 1}, {0, 1, 1, 0}};

これをバイナリ形式で保存できますが、それらを再度読み取って各行を区別できるようにする方法がわかりません(マトリックスには4つ以上の列がある可能性があり、これをランダムに選択しました)。

ところで、上記の行列の場合、結果のファイルは16 ビットになりますか?

4

1 に答える 1

0

データを文字 '0' と '1' の行としてファイルに書き込み、行を改行 (\n) で分割することができます。

しかし、スペースを節約するためにデータを個々のビットとして保存したい場合は、ファイルで明示的に指定しないと行列の次元を知ることができません。次元をファイルの最初の 2 バイトとして書き込んでから、データをフラットなビット ストリームとして書き出すことができます (たとえば、 を使用java.util.BitSet.toByteArray())。

于 2015-05-27T19:04:12.537 に答える