Как перевести шестнадцатеричное число в восьмеричное
Перевод из шестнадцатеричной системы счисления в восьмеричную
Для перевода чисел из шестнадцатеричной системы в восьмеричную, воспользуемся соответствующим алгоритмом. Важно заметить, что алгоритм перевода целых и дробных чисел будет отличаться.
Алгоритм перевода шестнадцатеричных чисел в восьмеричную систему счисления
Подробно о переводе из шестнадцатеричной в десятичную систему смотрите на этой странице, о переводе из десятичной в восьмеричную — здесь. Для целостного понимания, разберем несколько примеров, но для начала вспомним алфавиты восьмеричной, десятичной и шестнадцатеричной систем счисления:
| Основание | Название | Алфавит |
|---|---|---|
| 8 | Восьмеричная | 0, 1, 2, 3, 4, 5, 6, 7 |
| 10 | Десятичная | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 |
| 16 | Шестнадцатеричная | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F |
Перевод целого шестнадцатеричного числа в восьмеричную систему счисления
Пример 1: перевести число 1a316 из шестнадцатеричной в восьмеричную систему.
Как было сказано выше, необходимо сначала перевести число в десятичное, а полученный ответ в восьмеричную. Решение будет выглядеть следующим образом:
Для перевода шестнадцатеричного числа 1a316 в десятичную систему, воспользуемся формулой:
1a31616=1 ∙ 16 4 + a ∙ 16 3 + 3 ∙ 16 2 + 1 ∙ 16 1 + 6 ∙ 16 0 = 1 ∙ 65536 + 10 ∙ 4096 + 3 ∙ 256 + 1 ∙ 16 + 6 ∙ 1 = 65536 + 40960 + 768 + 16 + 6 = 10728610
Полученное число 107286 переведем из десятичной системы счисления в восьмеричную. Для этого, осуществим последовательное деление на 8, до тех пор пока остаток не будет меньше чем 8.
Полученные остатки записываем в обратном порядке, таким образом:
Перевод дробного шестнадцатеричного числа в восьмеричную систему счисления
Пример 2: перевести 37.25 из шестнадцатеричной в восьмеричную систему счисления.
Общий смысл алгоритма перевода дробного числа, аналогичен алгоритму перевода целого, т.е. вначале переводим в десятичную, а затем в восьмеричную:
1. Для перевода числа 1F.625 в десятичную систему воспользуемся формулой:
Обратите внимание! Формула перевода дробного числа в десятичную систему, очень похожа на формулу перевода целого, однако немного отличается.
2. Полученное число 55.14453125 переведем из десятичной системы счисления в восьмеричную. Т.к. полученное число содержит дробную часть, нам потребуется перевести вначале целую часть, а затем дробную. Таким образом необходимо:
2.1 2.1 Для того, чтобы перевести число 55 из десятичной системы счисления в восьмеричную, необходимо осуществить последовательное деление на 8, то тех пор пока остаток не будет меньше чем 8.
Полученные остатки записываем в обратном порядке, таким образом:
2.2 Для перевода десятичной дроби 0.14453125 в восьмеричную систему, необходимо выполнить последовательное умножение дроби на 8, до тех пор, пока дробная часть не станет равной 0 или пока не будет достигнута заданная точность вычисления. Получаем:
0.14453125 ∙ 8 = 1.15625 (1)
0.15625 ∙ 8 = 1.25 (1)
0.25 ∙ 8 = 2 (2)
Ответом станет прямая последовательность целых частей произведения. Т.е.
2.3. Осталось соеденить переведенные части, таким образом:
Как перевести число из шестнадцатеричной системы счисления в восьмеричную?
Для того, что бы перевести число из 16-ричной СС в 8-ричную можно пойти двумя путями.
Через десятичную СС, 16 — 10 — 8 или через двоичную СС 16 — 2 — 8
Посмотрите видеоурок, в которым все наглядно и понятно объясняется
Перевод через десятичную систему возможен, но он более трудоемкий и связан с более сложными вычислениями. Намного проще будет второй вариант, потому что у нас есть таблицы соответствия чисел двоичной, восьмеричной и шестнадцатеричной СС, пользуясь которыми этот перевод не займет много времени.
Такие таблицы можно легко составить самостоятельно, просто выписав соответствующие цифры восьмеричной и шестнадцатеричной системы счисления и написать соответствующие им триады и тетрады в двоичной системе счисления. После этого переводим шестнадцатеричное число в двоичное, а потом выделяем начиная с последней цифры триады из которых собираем восьмеричное число.
Аналогично вы можете перевести число из восьмеричной системы счисления в шестнадцатеричную, используя промежуточную двоичную и составленные таблицы соответствия.
Перевести число ADD6 из шестнадцатеричной системы в восьмеричную
Задача: перевести число ADD6 из шестнадцатеричной в восьмеричную систему счисления.
Для перевода ADD6 из шестнадцатеричной в восьмеричную систему счисления, воспользуемся следующим алгоритмом:
1. Для перевода числа ADD6 в десятичную систему воспользуемся формулой:
ADD616=A ∙ 16 3 + D ∙ 16 2 + D ∙ 16 1 + 6 ∙ 16 0 = 10 ∙ 4096 + 13 ∙ 256 + 13 ∙ 16 + 6 ∙ 1 = 40960 + 3328 + 208 + 6 = 4450210
2. Полученное число 44502 переведем из десятичной системы счисления в восьмеричную. Для этого, осуществим последовательное деление на 8, до тех пор пока остаток не будет меньше чем 8.
| — | 44502 | 8 | ||
| 44496 | — | 5562 | 8 | |
| 6 | 5560 | — | 695 | 8 |
| 2 | 688 | — | 86 | 8 |
| 7 | 80 | — | 10 | 8 |
| 6 | 8 | 1 | ||
| 2 |
Полученные остатки записываем в обратном порядке, таким образом:
Перевести число AAAFFF из шестнадцатеричной системы в восьмеричную
Задача: перевести число AAAFFF из шестнадцатеричной в восьмеричную систему счисления.
Для перевода AAAFFF из шестнадцатеричной в восьмеричную систему счисления, воспользуемся следующим алгоритмом:
1. Для перевода числа AAAFFF в десятичную систему воспользуемся формулой:
AAAFFF16=A ∙ 16 5 + A ∙ 16 4 + A ∙ 16 3 + F ∙ 16 2 + F ∙ 16 1 + F ∙ 16 0 = 10 ∙ 1048576 + 10 ∙ 65536 + 10 ∙ 4096 + 15 ∙ 256 + 15 ∙ 16 + 15 ∙ 1 = 10485760 + 655360 + 40960 + 3840 + 240 + 15 = 1118617510
2. Полученное число 11186175 переведем из десятичной системы счисления в восьмеричную. Для этого, осуществим последовательное деление на 8, до тех пор пока остаток не будет меньше чем 8.
| — | 11186175 | 8 | ||
| 11186168 | — | 1398271 | 8 | |
| 7 | 1398264 | — | 174783 | 8 |
| 7 | 174776 | — | 21847 | 8 |
| 7 | 21840 | — | 2730 | 8 |
| 7 | 2728 | — | 341 | 8 |
| 2 | 336 | — | 42 | 8 |
| 5 | 40 | 5 | ||
| 2 |
Полученные остатки записываем в обратном порядке, таким образом:
Перевод из восьмеричной системы счисления в шестнадцатеричную
Для перевода чисел из восьмеричной системы в шестнадцатеричную, воспользуемся соответствующим алгоритмом. Важно заметить, что алгоритм перевода целых и дробных чисел будет отличаться.
Алгоритм перевода восьмеричных чисел в шестнадцатеричный код
Подробно о переводе из восьмеричной в десятичную систему смотрите на этой странице, о переводе из десятичной в шестнадцатеричную — на смотрите здесь. Для целостного понимания, разберем несколько примеров, но для начала вспомним алфавиты восьмеричной, десятичной и шестнадцатеричной систем счисления:
| Основание | Название | Алфавит |
|---|---|---|
| 8 | Восьмеричная | 0, 1, 2, 3, 4, 5, 6, 7 |
| 10 | Десятичная | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 |
| 16 | Шестнадцатеричная | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F |
Перевод целого восьмеричного числа в шестнадцатеричную систему счисления
Пример 1: перевести 355 из восьмеричной системы в шестнадцатеричную.
Как было сказано выше, необходимо сначала перевести число в десятичное, а полученный ответ в двоичную. Решение будет выглядеть следующим образом:
Для перевода восьмеричного числа 512 в десятичную систему, воспользуемся формулой:
3558=3 ∙ 8 2 + 5 ∙ 8 1 + 5 ∙ 8 0 = 3 ∙ 64 + 5 ∙ 8 + 5 ∙ 1 = 192 + 40 + 5 = 23710
Полученное число 237 переведем из десятичной системы счисления в шестнадцатеричную. Для этого, осуществим последовательное деление на 16, до тех пор пока остаток не будет меньше 16-ти.
Полученные остатки записываем в обратном порядке, таким образом:
Перевод дробного восьмеричного числа в шестнадцатеричную систему счисления
Пример 2: перевести 545.1010 из восьмеричной в шестнадцатеричную систему счисления.
Общий смысл алгоритма перевода дробного числа, аналогичен алгоритму перевода целого, т.е. вначале переводим в десятичную, а затем в шестнадцатеричную:
1. Для перевода числа 545.1010 в десятичную систему воспользуемся формулой:
Обратите внимание! Формула перевода дробного числа в десятичную систему, очень похожа на формулу перевода целого, однако немного отличается.
2. Полученное число 357.126953125 переведем из десятичной системы счисления в шестнадцатеричную. Для этого потребуется перевести вначале целую часть, а затем дробную. Таким образом необходимо:
2.1 Для того, чтобы перевести число 357 из десятичной системы счисления в шестнадцатеричную, необходимо осуществить последовательное деление на 16, до тех пор пока остаток не будет меньше 16-ти.
Полученные остатки записываем в обратном порядке, таким образом:
2.2 Для перевода десятичной дроби 0.126953125 в шестнадцатеричную систему, необходимо выполнить последовательное умножение дроби на 16, до тех пор, пока дробная часть не станет равной 0 или пока не будет достигнута заданная точность вычисления. Получаем:
0.126953125 ∙ 16 = 2.03125 (2)
0.03125 ∙ 16 = 0.5 (0)
0.5 ∙ 16 = 8 (8)
Ответом станет прямая последовательность целых частей произведения. Т.е.
2.3. Осталось соединить переведенные части, таким образом:






