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

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

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

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

Решение:

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

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

Отсюда:

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

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

1001001010.1001111116 = 68736258064.06310

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

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

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

68736258064 8
68736258064 8592032258 8
0 8592032256 1074004032 8
2 1074004032 134250504 8
0 134250504 16781313 8
0 16781312 2097664 8
1 2097664 262208 8
0 262208 32776 8
0 32776 4097 8
0 4096 512 8
1 512 64 8
0 64 8 8
0 8 1
0

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

6873625806410=10001000100208

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

0.063 ∙ 8 = 0.504 (0)
0.504 ∙ 8 = 4.032 (4)
0.032 ∙ 8 = 0.256 (0)
0.256 ∙ 8 = 2.048 (2)
0.048 ∙ 8 = 0.384 (0)
0.384 ∙ 8 = 3.072 (3)
0.072 ∙ 8 = 0.576 (0)
0.576 ∙ 8 = 4.608 (4)
0.608 ∙ 8 = 4.864 (4)
0.864 ∙ 8 = 6.912 (6)
0.912 ∙ 8 = 7.296 (7)

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

0.06310=0.040203044678

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

68736258064.06310=1000100010020.040203044678

Ответ: 1001001010.1001111116 = 1000100010020.040203044678.

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

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

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