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

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

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

  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: перевести число F16 из шестнадцатеричной в двоичную систему.

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

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

A16 = an-1 ∙ 16n-1 + an-2 ∙ 16n-2 + ∙∙∙ + a0 ∙ 160, отсюда:

F1616=F ∙ 162 + 1 ∙ 161 + 6 ∙ 160 = 15 ∙ 256 + 1 ∙ 16 + 6 ∙ 1 = 3840 + 16 + 6 = 386210

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

F1616 = 386210

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

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

386210=1111000101102

Ответ: F1616 = 1111000101102.

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

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

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

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

A16 = an-1 ∙ 16n-1 + an-2 ∙ 16n-2 + ∙∙∙ + a0 ∙ 160 + a-1 ∙ 16-1 + ∙∙∙ + a-m ∙ 16-m, отсюда:

1F.62516=1 ∙ 161 + F ∙ 160 + 6 ∙ 16-1 + 2 ∙ 16-2 + 5 ∙ 16-3 = 1 ∙ 16 + 15 ∙ 1 + 6 ∙ 0.0625 + 2 ∙ 0.00390625 + 5 ∙ 0.000244140625 = 16 + 15 + 0.375 + 0.0078125 + 0.001220703125 = 31.38403320312510

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

1F.62516 = 31.38403320312510

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

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

  1. Перевести 31 в двоичную систему;
  2. Перевести 0.384033203125 в двоичную систему;

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

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

6610=1028

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

0.384033203125 ∙ 2 = 0.76806640625 (0)
0.76806640625 ∙ 2 = 1.5361328125 (1)
0.5361328125 ∙ 2 = 1.072265625 (1)
0.072265625 ∙ 2 = 0.14453125 (0)
0.14453125 ∙ 2 = 0.2890625 (0)
0.2890625 ∙ 2 = 0.578125 (0)
0.578125 ∙ 2 = 1.15625 (1)
0.15625 ∙ 2 = 0.3125 (0)
0.3125 ∙ 2 = 0.625 (0)
0.625 ∙ 2 = 1.25 (1)
0.25 ∙ 2 = 0.5 (0)

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

0.38403320312510=0.011000100102

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

31.38403320312510=11111.011000100102

Ответ: 1F.62516 = 11111.011000100102.

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

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