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

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

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

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

Решение:

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

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

Отсюда:

0100101.01010010101016=0 ∙ 166 + 1 ∙ 165 + 0 ∙ 164 + 0 ∙ 163 + 1 ∙ 162 + 0 ∙ 161 + 1 ∙ 160 + 0 ∙ 16-1 + 1 ∙ 16-2 + 0 ∙ 16-3 + 1 ∙ 16-4 + 0 ∙ 16-5 + 0 ∙ 16-6 + 1 ∙ 16-7 + 0 ∙ 16-8 + 1 ∙ 16-9 + 0 ∙ 16-10 + 1 ∙ 16-11 + 0 ∙ 16-12 = 0 ∙ 16777216 + 1 ∙ 1048576 + 0 ∙ 65536 + 0 ∙ 4096 + 1 ∙ 256 + 0 ∙ 16 + 1 ∙ 1 + 0 ∙ 0.0625 + 1 ∙ 0.00390625 + 0 ∙ 0.000244140625 + 1 ∙ 1.52587890625E-5 + 0 ∙ 9.5367431640625E-7 + 0 ∙ 5.9604644775391E-8 + 1 ∙ 3.7252902984619E-9 + 0 ∙ 2.3283064365387E-10 + 1 ∙ 1.4551915228367E-11 + 0 ∙ 9.0949470177293E-13 + 1 ∙ 5.6843418860808E-14 + 0 ∙ 3.5527136788005E-15 = 0 + 1048576 + 0 + 0 + 256 + 0 + 1 + 0 + 0.00390625 + 0 + 1.52587890625E-5 + 0 + 0 + 3.7252902984619E-9 + 0 + 1.4551915228367E-11 + 0 + 5.6843418860808E-14 + 0 = 1048833.003921510

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

0100101.01010010101016 = 1048833.003921510

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

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

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

— 1048833 2
1048832 — 524416 2
1 524416 — 262208 2
0 262208 — 131104 2
0 131104 — 65552 2
0 65552 — 32776 2
0 32776 — 16388 2
0 16388 — 8194 2
0 8194 — 4097 2
0 4096 — 2048 2
1 2048 — 1024 2
0 1024 — 512 2
0 512 — 256 2
0 256 — 128 2
0 128 — 64 2
0 64 — 32 2
0 32 — 16 2
0 16 — 8 2
0 8 — 4 2
0 4 — 2 2
0 2 1
0

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

104883310=1000000000001000000012

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

0.0039215 ∙ 2 = 0.007843 (0)
0.007843 ∙ 2 = 0.015686 (0)
0.015686 ∙ 2 = 0.031372 (0)
0.031372 ∙ 2 = 0.062744 (0)
0.062744 ∙ 2 = 0.125488 (0)
0.125488 ∙ 2 = 0.250976 (0)
0.250976 ∙ 2 = 0.501952 (0)
0.501952 ∙ 2 = 1.003904 (1)
0.003904 ∙ 2 = 0.007808 (0)
0.007808 ∙ 2 = 0.015616 (0)
0.015616 ∙ 2 = 0.031232 (0)

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

0.003921510=0.000000010002

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

1048833.003921510=100000000000100000001.000000010002

Ответ: 0100101.01010010101016 = 100000000000100000001.000000010002.

Смотрите также:

  • Смотрите также
  • Калькуляторы
  • Последние переводы
  • Какое число еще хотите перевести?

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