перевод между 2 8 16 системами через триады и тетрады, не пойму как
Разбираю задание, где надо переводить из двоичной в восьмеричную и шестнадцатеричную. Все говорят «бей на триады и тетрады», но я не врубаюсь что это значит и куда что бить.
Например число 11010110 в двоичной. Как из него получить восьмеричную и шестнадцатеричную? И обратно если дано 2F в 16-ричной — как в двоичную?
Переводить через десятичную я умею, но это долго и я ошибаюсь. Хочу быстрый способ.
2 ответа
Окей, фишка простая: 8 = 2³, поэтому каждая восьмеричная цифра = ровно 3 двоичных (это триада). А 16 = 2⁴, поэтому каждая шестнадцатеричная цифра = ровно 4 двоичных (тетрада). Через десятичную вообще не надо ходить.
Берём 11010110.
В восьмеричную — бьём на триады СПРАВА по 3 цифры:
11 010 110
Слева не хватило до тройки — дописываем нули: 011 010 110. Теперь каждую тройку переводим (помни 4-2-1):
011 = 3
010 = 2
110 = 6
Ответ: 326 в восьмеричной.
В шестнадцатеричную — бьём на тетрады справа по 4:
1101 0110
Переводим каждую (8-4-2-1):
1101 = 13 = D
0110 = 6
Ответ: D6.
Теперь обратно, 2F (16) → в двоичную. Каждую цифру разворачиваем в 4 бита:
2 = 0010
F = 15 = 1111
Склеиваем: 00101111, ведущие нули убираем → 101111.
Главное не путать: триада = 3 бита (для восьмеричной), тетрада = 4 бита (для шестнадцатеричной). И разбивать всегда справа, недостающее слева дополнять нулями.
Запомни ещё буквы 16-ричной: A=10, B=11, C=12, D=13, E=14, F=15.
Совет: заранее на черновике выпиши таблицу тетрад 0000..1111 со значениями 0..F. На экзамене это секундное дело, зато потом переводы 2↔16 щёлкаешь без ошибок.
Частая ошибка — бить на группы СЛЕВА. Нет, всегда справа, иначе разряды сместятся и ответ улетит.