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

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

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

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

Решение:

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

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

Отсюда:

DEAD.BEEF16=D ∙ 163 + E ∙ 162 + A ∙ 161 + D ∙ 160 + B ∙ 16-1 + E ∙ 16-2 + E ∙ 16-3 + F ∙ 16-4 = 13 ∙ 4096 + 14 ∙ 256 + 10 ∙ 16 + 13 ∙ 1 + 11 ∙ 0.0625 + 14 ∙ 0.00390625 + 14 ∙ 0.000244140625 + 15 ∙ 1.52587890625E-5 = 53248 + 3584 + 160 + 13 + 0.6875 + 0.0546875 + 0.00341796875 + 0.0002288818359375 = 57005.74583435110

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

DEAD.BEEF16 = 57005.74583435110

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

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

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

57005 8
57000 7125 8
5 7120 890 8
5 888 111 8
2 104 13 8
7 8 1
5

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

5700510=1572558

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

0.745834351 ∙ 8 = 5.966674808 (5)
0.966674808 ∙ 8 = 7.733398464 (7)
0.733398464 ∙ 8 = 5.867187712 (5)
0.867187712 ∙ 8 = 6.937501696 (6)
0.937501696 ∙ 8 = 7.500013568 (7)
0.500013568 ∙ 8 = 4.000108544 (4)
0.000108544 ∙ 8 = 0.000868352 (0)
0.000868352 ∙ 8 = 0.006946816 (0)
0.006946816 ∙ 8 = 0.055574528 (0)
0.055574528 ∙ 8 = 0.444596224 (0)
0.444596224 ∙ 8 = 3.556769792 (3)

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

0.74583435110=0.575674000038

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

57005.74583435110=157255.575674000038

Ответ: DEAD.BEEF16 = 157255.575674000038.

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

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

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