Как преобразовать два 4-битных фрагмента в 1 байт в Dart?

#dart #binary #typeconverter

#dart #двоичный #typeconverter

Вопрос:

 byte 0: min_value (0-3 bit)
        max_value (4-7 bit)
 

byte0 Должны быть объединены минимальные и максимальные значения.

значения min и max являются целыми числами (в диапазоне 0-15). Я должен преобразовать их в 4-битный двоичный файл и как-то объединить их? (как?)

Например.

 min_value=2  // 0010
max_value=3  // 0011
 

Результатом должно быть Uint8 , и значение: 00100011

Ответ №1:

Вы можете использовать оператор сдвига влево << , чтобы получить желаемый результат:

 result = ((min_value << 4)   max_value).toRadixString(2).padLeft(8, '0');
 

Комментарии:

1. Я не понимаю. Я получаю 2 и 3 десятичные числа из входных данных, как я могу получить 00100011 в итоге?

2. Вопрос не был ясен о том, что вы хотели получить в результате. Я обновил ответ.