В этом нам поможет статический класс 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 байта.
Пусть у нас есть переменная одного из указанных выше типов с присвоенным ей значением. В качестве примера задается максимально возможное значение для данного типа:
int Number = int.MaxValue;
Преобразуем число в массив байт с помощью класса BitConverter:
byte[] bytes = BitConverter.GetBytes(Number);
Для того, чтобы отобразить полученный массив на экране, преобразуем его в строку, вставив пробел между каждым его элементом, а затем выведем строку на экран:
string BytesInString = string.Join(" ", bytes);
Console.WriteLine(BytesInString);
На экране мы увидим, что массив состоит из четырёх элементов:
И это логично, если вспомнить, что тип int является 32-х битным, т.е. занимает в памяти 4 байта.
ошибочка!
ОтветитьУдалитьна экране будет 127 0 0 0
заполнение массива некорректное - справа налево, не как двоичная система....
Никакой ошибки. Все примеры проверяются перед публикацией. В доказательство я вставил скриншот в статью.
ОтветитьУдалитьНо тем не менее, спасибо за обратную связь!
Спасибо, помогли! :)
ОтветитьУдалить