Перевод из восьмеричной системы счисления в шестнадцатеричную

Для перевода чисел из восьмеричной системы в шестнадцатеричную, воспользуемся соответствующим алгоритмом. Важно заметить, что алгоритм перевода целых и дробных чисел будет отличаться.

Алгоритм перевода восьмеричных чисел в шестнадцатеричный код

  1. Перевести двоичное число число в десятичную систему счисления;
  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 в десятичную систему, воспользуемся формулой:

An = an-1 ∙ qn-1 + an-2 ∙ qn-2 + ∙∙∙ + a0 ∙ q0

Отсюда:

3558=3 ∙ 82 + 5 ∙ 81 + 5 ∙ 80 = 3 ∙ 64 + 5 ∙ 8 + 5 ∙ 1 = 192 + 40 + 5 = 23710

Таким образом:

3558 = 23710

Полученное число 237 переведем из десятичной системы счисления в шестнадцатеричную. Для этого, осуществим последовательное деление на 16, до тех пор пока остаток не будет меньше 16-ти.

Полученные остатки записываем в обратном порядке, таким образом:

23710=14D16

Ответ: 3558 = 14D16

Перевод дробного восьмеричного числа в шестнадцатеричную систему счисления

Пример 2: перевести 545.1010 из восьмеричной в шестнадцатеричную систему счисления.

Общий смысл алгоритма перевода дробного числа, аналогичен алгоритму перевода целого, т.е. вначале переводим в десятичную, а затем в шестнадцатеричную:

1. Для перевода числа 545.1010 в десятичную систему воспользуемся формулой:

An = an-1 ∙ qn-1 + an-2 ∙ qn-2 + ∙∙∙ + a0 ∙ q0 + a-1 ∙ q-1 + ∙∙∙ + a-m ∙ q-m

Отсюда:

545.10108=5 ∙ 82 + 4 ∙ 81 + 5 ∙ 80 + 1 ∙ 8-1 + 0 ∙ 8-2 + 1 ∙ 8-3 + 0 ∙ 8-4 = 5 ∙ 64 + 4 ∙ 8 + 5 ∙ 1 + 1 ∙ 0.125 + 0 ∙ 0.015625 + 1 ∙ 0.001953125 + 0 ∙ 0.000244140625 = 320 + 32 + 5 + 0.125 + 0 + 0.001953125 + 0 = 357.12695312510

Таким образом:

545.10108 = 357.12695312510

Обратите внимание! Формула перевода дробного числа в десятичную систему, очень похожа на формулу перевода целого, однако немного отличается.

2. Полученное число 357.126953125 переведем из десятичной системы счисления в шестнадцатеричную. Для этого потребуется перевести вначале целую часть, а затем дробную. Таким образом необходимо:

  1. Перевести 357 в шестнадцатеричную систему;
  2. Перевести 0.126953125 в шестнадцатеричную систему;

2.1 Для того, чтобы перевести число 357 из десятичной системы счисления в шестнадцатеричную, необходимо осуществить последовательное деление на 16, до тех пор пока остаток не будет меньше 16-ти.

Полученные остатки записываем в обратном порядке, таким образом:

35710=16516

2.2 Для перевода десятичной дроби 0.126953125 в шестнадцатеричную систему, необходимо выполнить последовательное умножение дроби на 16, до тех пор, пока дробная часть не станет равной 0 или пока не будет достигнута заданная точность вычисления. Получаем:

0.126953125 ∙ 16 = 2.03125 (2)
0.03125 ∙ 16 = 0.5 (0)
0.5 ∙ 16 = 8 (8)

Ответом станет прямая последовательность целых частей произведения. Т.е.

0.12695312510=0.20816

2.3. Осталось соединить переведенные части, таким образом:

35710=16516

Ответ: 545.10108 = 165.20816.

  • Какое число еще хотите перевести?

    * Все поля обязательны
  • Дробное число вводите через точку
  • Введите от 2 до 35
  • Введите от 2 до 35
Подписаться
Уведомить о
guest
2 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Nik
Nik
8 месяцев назад

Почему 237 в 10-ной =14D в 16-ной? Должно быть ED в 16-ной.

Adblock
detector