У меня есть трудное время, чтобы выполнить то, что должно быть простым преобразованием из целого числа в массив байтов.Преобразование целочисленного в байтовый массив
Я считаю, что это должно быть простым, даже тривиальным, но не может его получить (так, если кто-то знает правильное «имя» для этой операции, скажите, пожалуйста). Кроме того, я не мог найти лучшего заголовка вопроса, но я чувствую, что он немного расплывчатый (не стесняйтесь редактировать).
Что я хочу:
byte[] result = MagicConverter.Convert(336);
// now result should be {0, 0, 1, 80}
Результат преобразования 336 должен быть 1, 80
, потому что это разложение в базе 256, то есть 1 * 256 + 80 = 336.
Мой кодовая содержит много вещей, связанных с битами, для выполнения подобных задач, но я думаю, что я еще не совсем понимаю эту вещь, связанную с битами.
1 * 256 + 80 = 336, а не 366 – Matt
Примечание, если вы планируете использовать это для передачи массивов байтов с другими приложениями, вам может потребоваться исследование [Endianness] (http: //en.wikipedia .org/вики/Порядок байтов). Различные платформы будут хранить байты для целого числа в разных порядках, и этот порядок может иметь значение при взаимодействии. –
@Matt вы правы, это была опечатка! – heltonbiker