c# Как преобразовать число в шестнадцатеричный байт?

173
17 августа 2018, 16:20

Есть к примеру число 2010, как из него получить байт 0x7da ? И именно байт, а не строчку.

Answer 1

Думаю, Вы не совсем понимаете значение слова байт.

Байт - единица измерения количества информации, равная 8 битам.

Тем самым байт принимает значение от 0 до 255.

То, что написали Вы, является не "байтом", а обычным числом в его 16-ричном представлении. Тем самым код:

int a = 2010;
int b = 0x7da;
Console.WriteLine(a == b); // true

Покажет Вам, что значения абсолютно идентичны. Различна лишь форма их записи.

Если Вам в коде необходимо записать число именно в таком формате, а также Вы используете IDE Visual Studio, то, нажав ПКМ по числу и выбрав графу Быстрые действия и рефракторинг, Вы обнаружите возможность перевода записанного числа в его 2-ичное, 10-тичное и 16-ричноепредставление.
Тем самым код:

int a = 2010;

VS поможет Вам превратить в:

int a = 0x7DA;

Или в:

int a = 0b11111011010;

И обратно

Если же Вы хотите преобразовать число в строку в виде его 16-ричного представления, то код, к примеру, следующий:

int a = 2010;
string b = $"0x{Convert.ToString(a, 16)}";
Console.WriteLine(b); // 0x7da
READ ALSO
Подружить шифрование C# и Python3

Подружить шифрование C# и Python3

Такой вопрос: Пытаюсь подружить шифрование с помощью RSA библиотеку BountyCastle на C# и Crypto на Python3

147
Wifi hotspot C#

Wifi hotspot C#

Как программно раздать wifi ( на win10 без netsh команд) средствами C#?Посоветуйте библиотеку, возможно ли это осуществить с помощью библиотеки simplewifi?...

170
C# и Sqlite подключение к БД более одного компьютера

C# и Sqlite подключение к БД более одного компьютера

Можно ли подключиться к локальной БД Sqlite по сети? Например если на одном стоит база а с другого компьютера ее подцепить? Реальное такое?

172
Помогите сделать unit-тест

Помогите сделать unit-тест

Помогите сделать unit тест на данный код не знаю как сделать

155