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

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

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

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

Решение:

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

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

Отсюда:

1000111.0116=1 ∙ 166 + 0 ∙ 165 + 0 ∙ 164 + 0 ∙ 163 + 1 ∙ 162 + 1 ∙ 161 + 1 ∙ 160 + 0 ∙ 16-1 + 1 ∙ 16-2 = 1 ∙ 16777216 + 0 ∙ 1048576 + 0 ∙ 65536 + 0 ∙ 4096 + 1 ∙ 256 + 1 ∙ 16 + 1 ∙ 1 + 0 ∙ 0.0625 + 1 ∙ 0.00390625 = 16777216 + 0 + 0 + 0 + 256 + 16 + 1 + 0 + 0.00390625 = 16777489.00390610

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

1000111.0116 = 16777489.00390610

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

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

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

16777489 2
16777488 8388744 2
1 8388744 4194372 2
0 4194372 2097186 2
0 2097186 1048593 2
0 1048592 524296 2
1 524296 262148 2
0 262148 131074 2
0 131074 65537 2
0 65536 32768 2
1 32768 16384 2
0 16384 8192 2
0 8192 4096 2
0 4096 2048 2
0 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

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

1677748910=10000000000000001000100012

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

0.003906 ∙ 2 = 0.007812 (0)
0.007812 ∙ 2 = 0.015624 (0)
0.015624 ∙ 2 = 0.031248 (0)
0.031248 ∙ 2 = 0.062496 (0)
0.062496 ∙ 2 = 0.124992 (0)
0.124992 ∙ 2 = 0.249984 (0)
0.249984 ∙ 2 = 0.499968 (0)
0.499968 ∙ 2 = 0.999936 (0)
0.999936 ∙ 2 = 1.999872 (1)
0.999872 ∙ 2 = 1.999744 (1)
0.999744 ∙ 2 = 1.999488 (1)

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

0.00390610=0.000000001112

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

16777489.00390610=1000000000000000100010001.000000001112

Ответ: 1000111.0116 = 1000000000000000100010001.000000001112.

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

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

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