6 февраля 2011 г.

Преобразовать число в массив байт

В этом нам поможет статический класс BitConverter и его метод GetBytes(). Этот метод может принимать любой числовой тип: short, int, long, их беззнаковые аналоги, типы с плавающей запятой (float и double), а также логический тип.

Пусть у нас есть переменная одного из указанных выше типов с присвоенным ей значением. В качестве примера задается максимально возможное значение для данного типа:

int Number = int.MaxValue;

Преобразуем число в массив байт с помощью класса BitConverter:

byte[] bytes = BitConverter.GetBytes(Number);

Для того, чтобы отобразить полученный массив на экране, преобразуем его в строку, вставив пробел между каждым его элементом, а затем выведем строку на экран:

string BytesInString = string.Join(" ", bytes);
Console.WriteLine(BytesInString);

На экране мы увидим, что массив состоит из четырёх элементов:


И это логично, если вспомнить, что тип int является 32-х битным, т.е. занимает в памяти 4 байта.

3 комментария:

  1. ошибочка!

    на экране будет 127 0 0 0

    заполнение массива некорректное - справа налево, не как двоичная система....

    ОтветитьУдалить
  2. Никакой ошибки. Все примеры проверяются перед публикацией. В доказательство я вставил скриншот в статью.

    Но тем не менее, спасибо за обратную связь!

    ОтветитьУдалить
  3. Спасибо, помогли! :)

    ОтветитьУдалить