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

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

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

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

Решение:

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

An = an-1 ∙ qn-1 + an-2 ∙ qn-2 + ∙∙∙ + a0 ∙ q0

Отсюда:

00111100011101101001018=0 ∙ 821 + 0 ∙ 820 + 1 ∙ 819 + 1 ∙ 818 + 1 ∙ 817 + 1 ∙ 816 + 0 ∙ 815 + 0 ∙ 814 + 0 ∙ 813 + 1 ∙ 812 + 1 ∙ 811 + 1 ∙ 810 + 0 ∙ 89 + 1 ∙ 88 + 1 ∙ 87 + 0 ∙ 86 + 1 ∙ 85 + 0 ∙ 84 + 0 ∙ 83 + 1 ∙ 82 + 0 ∙ 81 + 1 ∙ 80 = 0 ∙ 9.2233720368548E+18 + 0 ∙ 1152921504606846976 + 1 ∙ 144115188075855872 + 1 ∙ 18014398509481984 + 1 ∙ 2251799813685248 + 1 ∙ 281474976710656 + 0 ∙ 35184372088832 + 0 ∙ 4398046511104 + 0 ∙ 549755813888 + 1 ∙ 68719476736 + 1 ∙ 8589934592 + 1 ∙ 1073741824 + 0 ∙ 134217728 + 1 ∙ 16777216 + 1 ∙ 2097152 + 0 ∙ 262144 + 1 ∙ 32768 + 0 ∙ 4096 + 0 ∙ 512 + 1 ∙ 64 + 0 ∙ 8 + 1 ∙ 1 = 0 + 0 + 144115188075855872 + 18014398509481984 + 2251799813685248 + 281474976710656 + 0 + 0 + 0 + 68719476736 + 8589934592 + 1073741824 + 0 + 16777216 + 2097152 + 0 + 32768 + 0 + 0 + 64 + 0 + 1 = 1.6466293977779E+1710

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

00111100011101101001018 = 1.6466293977779E+1710

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

  1. Перевести 164662939777794112 в шестнадцатеричную систему;
  2. Перевести 0.6466293977779E+17 в шестнадцатеричную систему;

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

164662939777794112 16
1.6466293977779E+17 1.0291433736112E+16 16
0 1.0291433736112E+16 6.4321460850701E+14 16
4 6.4321460850701E+14 40200913031688 16
0 40200913031680 2512557064480 16
8 2512557064480 157034816530 16
0 157034816528 9814676033 16
2 9814676032 613417252 16
1 613417248 38338578 16
4 38338576 2396161 16
2 2396160 149760 16
1 149760 9360 16
0 9360 585 16
0 576 36 16
9 32 2
4

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

16466293977779411210=24900124120804016

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

0.6466293977779E+17 ∙ 16 = 1.0346070364446E+18 ()
0.0346070364446E+18 ∙ 16 = 5.537125831136E+17 ()
0.537125831136E+17 ∙ 16 = 8.594013298176E+17 ()
0.594013298176E+17 ∙ 16 = 9.504212770816E+17 ()
0.504212770816E+17 ∙ 16 = 8.067404333056E+17 ()
0.067404333056E+17 ∙ 16 = 1.078469328896E+17 ()
0.078469328896E+17 ∙ 16 = 1.255509262336E+17 ()
0.255509262336E+17 ∙ 16 = 4.088148197376E+17 ()
0.088148197376E+17 ∙ 16 = 1.410371158016E+17 ()
0.410371158016E+17 ∙ 16 = 6.565938528256E+17 ()
0.565938528256E+17 ∙ 16 = 9.055016452096E+17 ()

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

0.6466293977779E+1710=0.16

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

1.6466293977779E+1710=249001241208040.16

Ответ: 00111100011101101001018 = 249001241208040.16.

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

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

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