Задача: перевести десятичное число 578₁₀ в двоичную, восьмеричную и шестнадцатеричную системы счисления. Ниже по шагам с пояснениями.
- Двоичная система (перевод делением на 2 или разложение по степеням двойки)
Найдём разложение по степеням двойки: максимальная степень ≤ 578 — это 2^9 = 512. Остаётся 578 − 512 = 66. Дальше 2^6 = 64, остаётся 66 − 64 = 2. Далее 2^1 = 2, остаётся 0. Значит биты на позициях 9, 6 и 1 равны 1, остальные — 0.
Запишем бинарно от старшей до младшей позиции (от 2^9 до 2^0): 2^9 2^8 2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0 1 0 0 1 0 0 0 0 1 0
Итог: 578₁₀ = 1001000010₂.
- Восьмеричная система (помогает использовать групповку по 3 бита)
Способ 1 (деление на 8): 578 ÷ 8 = 72 остаток 2 72 ÷ 8 = 9 остаток 0 9 ÷ 8 = 1 остаток 1 1 ÷ 8 = 0 остаток 1 Читаем в обратном порядке: 1102₈.
Способ 2 (группировка двоичных разрядов по 3 справа): 1001000010 → дописываем слева нули до кратности 3: 001 001 000 010 Соответствуют цифры 1 1 0 2 → 1102₈.
Итог: 578₁₀ = 1102₈.
- Шестнадцатеричная система (помогает использовать групповку по 4 бита)
Способ 1 (деление на 16): 578 ÷ 16 = 36 остаток 2 36 ÷ 16 = 2 остаток 4 2 ÷ 16 = 0 остаток 2 Читаем в обратном порядке: 0x242.
Способ 2 (группировка двоичных разрядов по 4 справа): 1001000010 → дописываем слева нули до кратности 4: 0010 0100 0010 Соответствуют цифры 2 4 2 → 0x242.
Итог: 578₁₀ = 0x242.
Проверка (обратная конвертация):
- 0x242 = 2·256 + 4·16 + 2 = 512 + 64 + 2 = 578.
- 1102₈ = 1·512 + 1·64 + 0·8 + 2 = 578.
- 1001000010₂ = 512 + 64 + 2 = 578.
Ответ:
- Двоичное: 1001000010₂
- Восьмеричное: 1102₈
- Шестнадцатеричное: 0x242
Если нужно, могу привести аналогичные примеры или разобрать ещё два способа конвертации.