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

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

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

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

Решение:

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

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

Отсюда:

011111001.1010001008=0 ∙ 88 + 1 ∙ 87 + 1 ∙ 86 + 1 ∙ 85 + 1 ∙ 84 + 1 ∙ 83 + 0 ∙ 82 + 0 ∙ 81 + 1 ∙ 80 + 1 ∙ 8-1 + 0 ∙ 8-2 + 1 ∙ 8-3 + 0 ∙ 8-4 + 0 ∙ 8-5 + 0 ∙ 8-6 + 1 ∙ 8-7 + 0 ∙ 8-8 + 0 ∙ 8-9 = 0 ∙ 16777216 + 1 ∙ 2097152 + 1 ∙ 262144 + 1 ∙ 32768 + 1 ∙ 4096 + 1 ∙ 512 + 0 ∙ 64 + 0 ∙ 8 + 1 ∙ 1 + 1 ∙ 0.125 + 0 ∙ 0.015625 + 1 ∙ 0.001953125 + 0 ∙ 0.000244140625 + 0 ∙ 3.0517578125E-5 + 0 ∙ 3.814697265625E-6 + 1 ∙ 4.7683715820312E-7 + 0 ∙ 5.9604644775391E-8 + 0 ∙ 7.4505805969238E-9 = 0 + 2097152 + 262144 + 32768 + 4096 + 512 + 0 + 0 + 1 + 0.125 + 0 + 0.001953125 + 0 + 0 + 0 + 4.7683715820312E-7 + 0 + 0 = 2396673.126953610

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

011111001.1010001008 = 2396673.126953610

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

  1. Перевести 2396673 в шестнадцатеричную систему;
  2. Перевести 0.1269536 в шестнадцатеричную систему;

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

2396673 16
2396672 149792 16
1 149792 9362 16
0 9360 585 16
2 576 36 16
9 32 2
4

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

239667310=24920116

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

0.1269536 ∙ 16 = 2.0312576 (2)
0.0312576 ∙ 16 = 0.5001216 (0)
0.5001216 ∙ 16 = 8.0019456 (8)
0.0019456 ∙ 16 = 0.0311296 (0)
0.0311296 ∙ 16 = 0.4980736 (0)
0.4980736 ∙ 16 = 7.9691776 (7)
0.9691776 ∙ 16 = 15.5068416 (F)
0.5068416 ∙ 16 = 8.1094656 (8)
0.1094656 ∙ 16 = 1.7514496 (1)
0.7514496 ∙ 16 = 12.0231936 (C)
0.0231936 ∙ 16 = 0.3710976 (0)

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

0.126953610=0.208007F81C016

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

2396673.126953610=249201.208007F81C016

Ответ: 011111001.1010001008 = 249201.208007F81C016.

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

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

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