У меня есть двоичная строка, которая выглядит примерно так: 11001111 00011111 11111111, и я хочу преобразовать ее в шестнадцатеричный формат и отправить через Uart в Arduino. Как я могу преобразовать каждый 8-битный в шестнадцатеричный формат без получения значений со знаком, поскольку тип данных байта не поддерживает значения выше 128.
Я делаю это
string b = "110011110001111111111111"
byte[] bval = new BigInteger(b, 2).toByteArray();
Ожидаемый вывод: cf1fff
Поскольку все эти биты соответствуют некоторым данным, изменение данных приводит к изменению поведения на стороне приемника. Пожалуйста, скажите мне, где я ошибаюсь.