В настоящее время я работаю над Visual C ++ 2008 Express Edition. Мой проект основан на чтении спутниковых изображений и применении обработки изображений на них.
Каждый файл изображения имеет формат ".0FM" и имеет размер 8 МБ.
До сих пор я мог читать файл (т.е. "* .0FM"), используя FileStream, и в байтовый массив, размер байтового массива составляет 8 000 000.
Затем я преобразовал каждый элемент массива байтов в десятичный, поэтому теперь каждый элемент в массиве имеет значения в диапазоне от 0 до 255.
Теперь мне нужно преобразовать каждое из этих десятичных значений в массиве в его двоичные значения.
Например, 86 следует преобразовать в 1010110
Я действительно застрял здесь. Я попробовал System::Decimal::GetBits()
метод, но все, что делает этот метод, это то, что он хранит 86 в битах [0],
Decimal d = 86;
array<int>^ buf_bits = Decimal::GetBits(d);
Этот код приводит к сохранению значения 86 в buf_bits [0], я не получаю 1010110.