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

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

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

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

Решение:

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

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

Отсюда:

YYY.ZZZ16=Y ∙ 162 + Y ∙ 161 + Y ∙ 160 + Z ∙ 16-1 + Z ∙ 16-2 + Z ∙ 16-3 = 34 ∙ 256 + 34 ∙ 16 + 34 ∙ 1 + 35 ∙ 0.0625 + 35 ∙ 0.00390625 + 35 ∙ 0.000244140625 = 8704 + 544 + 34 + 2.1875 + 0.13671875 + 0.008544921875 = 9284.332763671910

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

YYY.ZZZ16 = 9284.332763671910

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

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

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

9284 2
9284 4642 2
0 4642 2321 2
0 2320 1160 2
1 1160 580 2
0 580 290 2
0 290 145 2
0 144 72 2
1 72 36 2
0 36 18 2
0 18 9 2
0 8 4 2
1 4 2 2
0 2 1
0

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

928410=100100010001002

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

0.3327636719 ∙ 2 = 0.6655273438 (0)
0.6655273438 ∙ 2 = 1.3310546876 (1)
0.3310546876 ∙ 2 = 0.6621093752 (0)
0.6621093752 ∙ 2 = 1.3242187504 (1)
0.3242187504 ∙ 2 = 0.6484375008 (0)
0.6484375008 ∙ 2 = 1.2968750016 (1)
0.2968750016 ∙ 2 = 0.5937500032 (0)
0.5937500032 ∙ 2 = 1.1875000064 (1)
0.1875000064 ∙ 2 = 0.3750000128 (0)
0.3750000128 ∙ 2 = 0.7500000256 (0)
0.7500000256 ∙ 2 = 1.5000000512 (1)

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

0.332763671910=0.010101010012

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

9284.332763671910=10010001000100.010101010012

Ответ: YYY.ZZZ16 = 10010001000100.010101010012.

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

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

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