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

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

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

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

Решение:

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

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

Отсюда:

10010111001.1001101016=1 ∙ 1610 + 0 ∙ 169 + 0 ∙ 168 + 1 ∙ 167 + 0 ∙ 166 + 1 ∙ 165 + 1 ∙ 164 + 1 ∙ 163 + 0 ∙ 162 + 0 ∙ 161 + 1 ∙ 160 + 1 ∙ 16-1 + 0 ∙ 16-2 + 0 ∙ 16-3 + 1 ∙ 16-4 + 1 ∙ 16-5 + 0 ∙ 16-6 + 1 ∙ 16-7 + 0 ∙ 16-8 = 1 ∙ 1099511627776 + 0 ∙ 68719476736 + 0 ∙ 4294967296 + 1 ∙ 268435456 + 0 ∙ 16777216 + 1 ∙ 1048576 + 1 ∙ 65536 + 1 ∙ 4096 + 0 ∙ 256 + 0 ∙ 16 + 1 ∙ 1 + 1 ∙ 0.0625 + 0 ∙ 0.00390625 + 0 ∙ 0.000244140625 + 1 ∙ 1.52587890625E-5 + 1 ∙ 9.5367431640625E-7 + 0 ∙ 5.9604644775391E-8 + 1 ∙ 3.7252902984619E-9 + 0 ∙ 2.3283064365387E-10 = 1099511627776 + 0 + 0 + 268435456 + 0 + 1048576 + 65536 + 4096 + 0 + 0 + 1 + 0.0625 + 0 + 0 + 1.52587890625E-5 + 9.5367431640625E-7 + 0 + 3.7252902984619E-9 + 0 = 1099781181441.110

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

10010111001.1001101016 = 1099781181441.110

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

  1. Перевести 1099781181441 в восьмеричную систему;
  2. Перевести 0.1 в восьмеричную систему;

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

1099781181441 8
1099781181440 137472647680 8
1 137472647680 17184080960 8
0 17184080960 2148010120 8
0 2148010120 268501265 8
0 268501264 33562658 8
1 33562656 4195332 8
2 4195328 524416 8
4 524416 65552 8
0 65552 8194 8
0 8192 1024 8
2 1024 128 8
0 128 16 8
0 16 2
0

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

109978118144110=200020042100018

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

0.1 ∙ 8 = 0.8 (0)
0.8 ∙ 8 = 6.4 (6)
0.4 ∙ 8 = 3.2 (3)
0.2 ∙ 8 = 1.6 (1)
0.6 ∙ 8 = 4.8 (4)
0.8 ∙ 8 = 6.4 (6)
0.4 ∙ 8 = 3.2 (3)
0.2 ∙ 8 = 1.6 (1)
0.6 ∙ 8 = 4.8 (4)
0.8 ∙ 8 = 6.4 (6)
0.4 ∙ 8 = 3.2 (3)

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

0.110=0.063146314638

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

1099781181441.110=20002004210001.063146314638

Ответ: 10010111001.1001101016 = 20002004210001.063146314638.

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

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

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