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

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

Алгоритм перевода двоичных чисел в шестнадцатеричную систему счисления

  1. Перевести двоичное число число в десятичную систему счисления;
  2. Полученное десятичное число перевести в шестнадцатеричную систему.

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

Основание Название Алфавит
2 Двоичная 0, 1
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: перевести 1011101 из двоичной системы в шестнадцатеричную.

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

Для перевода двоичного числа 1011101 в десятичную систему, воспользуемся формулой:

A2 = an-1 ∙ 2n-1 + an-2 ∙ 2n-2 + ∙∙∙ + a0 ∙ 20, отсюда:

10111012=1 ∙ 26 + 0 ∙ 25 + 1 ∙ 24 + 1 ∙ 23 + 1 ∙ 22 + 0 ∙ 21 + 1 ∙ 20 = 1 ∙ 64 + 0 ∙ 32 + 1 ∙ 16 + 1 ∙ 8 + 1 ∙ 4 + 0 ∙ 2 + 1 ∙ 1 = 64 + 0 + 16 + 8 + 4 + 0 + 1 = 9310

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

10111012 = 9310

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

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

9310=5D16

Ответ: 10111012 = 5D16.

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

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

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

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

An = an-1 ∙ qn-1 + an-2 ∙ qn-2 + ∙∙∙ + a0 ∙ q0 + a-1 ∙ q-1 + ∙∙∙ + a-m ∙ q-m, отсюда:

10001100.1102=1 ∙ 27 + 0 ∙ 26 + 0 ∙ 25 + 0 ∙ 24 + 1 ∙ 23 + 1 ∙ 22 + 0 ∙ 21 + 0 ∙ 20 + 1 ∙ 2-1 + 1 ∙ 2-2 + 0 ∙ 2-3 = 1 ∙ 128 + 0 ∙ 64 + 0 ∙ 32 + 0 ∙ 16 + 1 ∙ 8 + 1 ∙ 4 + 0 ∙ 2 + 0 ∙ 1 + 1 ∙ 0.5 + 1 ∙ 0.25 + 0 ∙ 0.125 = 128 + 0 + 0 + 0 + 8 + 4 + 0 + 0 + 0.5 + 0.25 + 0 = 140.7510

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

10001100.1102 = 140.7510

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

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

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

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

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

14010=8C16

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

0.75 ∙ 16 = 12.0 (C)

Т.к. дробная часть 0, продолжать умножение не нужно. Ответом станет 0.12 (0.С). Т.е.

0.7510=0.C16

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

140.7510=8C.C16

Ответ: 10001100.1102 = 8C.C16.

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

    * Все поля обязательны
  • Дробное число вводите через точку
  • Введите от 2 до 16
  • Введите от 2 до 16
Подписаться
Уведомить о
guest
0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии
Adblock
detector