現在、Visual C++ 2008 Express Edition に取り組んでいます。私のプロジェクトは、衛星画像を読み取り、それらに画像処理を適用することに基づいています。各画像ファイルは「.0FM」形式で、サイズは 8Mb です。
これまで、FileStream を使用してファイル (つまり、 "*.0FM" ) をバイト配列に読み取ることができました。バイト配列のサイズは 8,000,000 です。
次に、バイト配列の各要素を Decimal に変換したため、配列の各要素の値は 0 ~ 255 の範囲になります。配列内のこれらの Decimal 値をそれぞれバイナリ値に変換する必要があります。たとえば、86 は 1010110 に変換する必要があります。
私は本当にここで立ち往生しています。メソッドを試しSystem::Decimal::GetBits()
ましたが、このメソッドが行うことは、86 をビット [0] に格納することだけです。
Decimal d = 86;
array<int>^ buf_bits = Decimal::GetBits(d);
このコードでは、値 86 が buf_bits[0] に格納され、1010110 が得られません。