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

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

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

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

Решение:

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

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

Отсюда:

158901.25D16=1 ∙ 165 + 5 ∙ 164 + 8 ∙ 163 + 9 ∙ 162 + 0 ∙ 161 + 1 ∙ 160 + 2 ∙ 16-1 + 5 ∙ 16-2 + D ∙ 16-3 = 1 ∙ 1048576 + 5 ∙ 65536 + 8 ∙ 4096 + 9 ∙ 256 + 0 ∙ 16 + 1 ∙ 1 + 2 ∙ 0.0625 + 5 ∙ 0.00390625 + 13 ∙ 0.000244140625 = 1048576 + 327680 + 32768 + 2304 + 0 + 1 + 0.125 + 0.01953125 + 0.003173828125 = 1411329.147705110

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

158901.25D16 = 1411329.147705110

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

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

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

1411329 2
1411328 705664 2
1 705664 352832 2
0 352832 176416 2
0 176416 88208 2
0 88208 44104 2
0 44104 22052 2
0 22052 11026 2
0 11026 5513 2
0 5512 2756 2
1 2756 1378 2
0 1378 689 2
0 688 344 2
1 344 172 2
0 172 86 2
0 86 43 2
0 42 21 2
1 20 10 2
1 10 5 2
0 4 2 2
1 2 1
0

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

141132910=1010110001001000000012

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

0.1477051 ∙ 2 = 0.2954102 (0)
0.2954102 ∙ 2 = 0.5908204 (0)
0.5908204 ∙ 2 = 1.1816408 (1)
0.1816408 ∙ 2 = 0.3632816 (0)
0.3632816 ∙ 2 = 0.7265632 (0)
0.7265632 ∙ 2 = 1.4531264 (1)
0.4531264 ∙ 2 = 0.9062528 (0)
0.9062528 ∙ 2 = 1.8125056 (1)
0.8125056 ∙ 2 = 1.6250112 (1)
0.6250112 ∙ 2 = 1.2500224 (1)
0.2500224 ∙ 2 = 0.5000448 (0)

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

0.147705110=0.001001011102

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

1411329.147705110=101011000100100000001.001001011102

Ответ: 158901.25D16 = 101011000100100000001.001001011102.

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

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

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