Перевод из восьмеричной системы счисления в двоичную

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

Алгоритм перевода восьмеричных чисел в двоичный код

  1. Перевести двоичное число число в десятичную систему счисления;
  2. Полученное десятичное число перевести в двоичную систему.

Подробно о переводе из восьмеричной в десятичную систему смотрите на этой странице, о переводе из десятичной в двоичную — на смотрите здесь. Для целостного понимания, разберем несколько примеров, но для начала вспомним алфавиты двоичной, десятичной и шестнадцатеричной систем счисления:

Основание Название Алфавит
2 Двоичная 0, 1
8 Восьмеричная 0, 1, 2, 3, 4, 5, 6, 7
10 Десятичная 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

Перевод целого восьмеричного числа в двоичную систему счисления

Пример 1: перевести 512 из восьмеричной системы в двоичную.

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

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

A2 = an-1 ∙ 2n-1 + an-2 ∙ 2n-2 + ∙∙∙ + a0 ∙ 20, отсюда:

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

Отсюда:

5128=5 ∙ 82 + 1 ∙ 81 + 2 ∙ 80 = 5 ∙ 64 + 1 ∙ 8 + 2 ∙ 1 = 320 + 8 + 2 = 33010

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

5128 = 33010

Полученное число 330 переведем из десятичной системы счисления в двоичную. Для этого, осуществим последовательное деление на 2, до тех пор пока остаток не будет меньше 2-х.

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

33010=1010010102

Ответ: 5128 = 1010010102

Перевод дробного восьмеричного числа в двоичную систему счисления

Пример 2: перевести 127.25 из восьмеричной в двоичную систему счисления.

Общий смысл алгоритма перевода дробного числа, аналогичен алгоритму перевода целого, т.е. вначале переводим в десятичную, а затем в двоичную:

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

An = an-1 ∙ qn-1 + an-2 ∙ qn-2 + ∙∙∙ + a0 ∙ q0 + a-1 ∙ q-1 + ∙∙∙ + a-m ∙ q-m, отсюда:

127.258=1 ∙ 82 + 2 ∙ 81 + 7 ∙ 80 + 2 ∙ 8-1 + 5 ∙ 8-2 = 1 ∙ 64 + 2 ∙ 8 + 7 ∙ 1 + 2 ∙ 0.125 + 5 ∙ 0.015625 = 64 + 16 + 7 + 0.25 + 0.078125 = 87.32812510

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

127.258 = 87.32812510

Обратите внимание! Формула перевода дробного числа в десятичную систему, очень похожа на формулу перевода целого, однако немного отличается.

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

  1. Перевести 87 в двоичную систему;
  2. Перевести 0.328125 в двоичную систему;

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

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

8710=10101112

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

0.328125 ∙ 2 = 0.65625 (0)
0.65625 ∙ 2 = 1.3125 (1)
0.3125 ∙ 2 = 0.625 (0)
0.625 ∙ 2 = 1.25 (1)
0.25 ∙ 2 = 0.5 (0)
0.5 ∙ 2 = 1 (1)

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

0.32812510=0.0101012

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

87.32812510=1010111.0101012

Ответ: 127.258 = 1010111.0101012.

  • Какое число еще хотите перевести?

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