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

Лабораторная работа №1

Тема: Система счисления. Перевод целых десятичных чисел в двоичную, восьмеричную, шестнадцатиричную систему счисления. (1 час), СРСП(1 час).

Десятичная система счисления

Название «десятичная» объясняется тем, что в основе этой системы лежит основание десять. В этой системе для записи чисел используются десять цифр - 0, 1, 2, 3, 4 , 5, 6, 7, 8, 9.

Десятичная система является позиционной, так как значение цифры в записи десятичного числа зависит от ее позиции, или местоположения, в числе.

Позицию, отводимую для цифры числа, называют разрядом.

Например, запись 526 означает, что число состоит из 5 сотен, 2 десятков и 6 единиц, Цифра 6 стоит в разряде единиц. Цифра 2 - в разряде десятков цифра 5-в разряде сотен.

Это число записать в виде суммы:

526=5*10 2 +2*10 1 +6*10 0

в этой записи число 10-основание системы счисления. Для каждой цифры числа основание 10 возводится в степень, зависящую от позиции цифры, и умножается на эту цифру. Степень основания для единиц равна нулю, для десятков - единице, для сотен – двум и т.д.

Для записи десятичных дробей используются отрицатель­ные значения степеней основания. Например, число 555,55 в развернутой форме записывается следующим образом:

555,55 10 = 5*10 2 + 5*10 1 + 5*10°+ 5*10- 1 +5*10- 2 .:

Перевод целых десятичных чисел в двоичную систему счисления.

При переводе десятичного числа в двоичное нужно это число делить на 2. Чтобы перевести целое положительное десятичное число в двоичную систему счисления, нужно это число разделить на 2. Полученное частное снова разделить на 2 и т.д. до тех пор, пока частное не окажется меньше 2. В результате записать в одну строку последнее частное и все остатки, начиная с последнего.

Пример. Число 891 перевести из десятичной системы в двоичную систему счисления.

Решение:

1:2=0, 1 (старшая цифра двоичного числа)

Записываем в одну строку последнее частное и все остатки, начиная с последнего.

Ответ: 891 10 =1101111011 2

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

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

Пример. Переведем десятичную дробь 0,322 в двоичную систему счисления.

Чтобы найти первую после запятой цифру двоичной дроби, нужно умножить заданное число на 2 и выделить целую часть произведения.

Решение:

0,322 10 8,83 10

0.322*2=0.644 0 8:2=4 остаток 0

0.644*2=1.288 1 4:2=2 остаток 0

0.288*2=0.576 0 2:2=1 остаток 0

0.576*2=1.152 1 1:2=0 остаток 1

0,3222 10 =0.0101 2 0.83*2=1.66 целая часть равна 1

0.66*2=1.32 целая часть равна 1

0.32*2=0.64 целая часть равна 0

0.64*2=1.28 целая часть равна 1

Ответ: 8,83=1000,1101

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

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

Преобразуемое число делят на 8 по правилам десятичной системы с запоминанием остатка, который, конечно, не превышает 7. Если полученное частное больше 7, его тоже делят на 8, сохраняя остаток.

Решение:

(старшая цифра двоичного числа).

Ответ: 891 10 =1573 8

Для представления чисел в микропроцессоре используется двоичная система счисления .
При этом любой цифровой сигнал может иметь два устойчивых состояния: «высокий уровень» и «низкий уровень». В двоичной системе счисления для изображения любого числа используются две цифры, соответственно: 0 и 1. Произвольное число x=a n a n-1 ..a 1 a 0 ,a -1 a -2 …a -m запишется в двоичной системе счисления как

x = a n ·2 n +a n-1 ·2 n-1 +…+a 1 ·2 1 +a 0 ·2 0 +a -1 ·2 -1 +a -2 ·2 -2 +…+a -m ·2 -m

где a i — двоичные цифры (0 или 1).

Восьмеричная система счисления

В восьмеричной системе счисления базисными цифрами являются цифры от 0 до 7. 8 единиц младшего разряда объединяются в единицу старшего.

Шестнадцатеричная система счисления

В шестнадцатеричной системе счисления базисными цифрами являются цифры от 0 до 15 включительно. Для обозначения базисных цифр больше 9 одним символом кроме арабских цифр 0…9 в шестнадцатеричной системе счисления используются буквы латинского алфавита:

10 10 = A 16 12 10 = C 16 14 10 = E 16
11 10 = B 16 13 10 = D 16 15 10 = F 16 .

Например, число 175 10 в шестнадцатеричной системе счисления запишется как AF 16 . Действительно,

10·16 1 +15·16 0 =160+15=175

В таблице представлены числа от 0 до 16 в десятичной, двоичной, восьмеричной и шестнадцатеричной системах счисления.

Десятичная Двоичная Восьмеричная Шестнадцатеричная
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
16 10000 20 10

Двоично-восьмеричные и двоично-шестнадцатеричные преобразования

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

Три разряда восьмеричной системы счисления реализуют все возможные комбинации восьмеричных цифр в двоичной системе счисления: от 0 (000) до 7(111). Чтобы преобразовать двоичное число в восьмеричное, нужно объединить двоичные цифры в группы по 3 разряда (триады) в две стороны, начиная от разделителя целой и дробной части. При необходимости слева от исходного числа нужно добавить незначащие нули. Если число содержит дробную часть, то справа от него тоже можно добавить незначащие нули до заполнения всех триад. Затем каждая триада заменяется восьмеричной цифрой.

Пример: Преобразовать число 1101110,01 2 в восьмеричную систему счисления.

Объединяем двоичные цифры в триады справа налево. Получаем

001 101 110,010 2 = 156,2 8 .

Чтобы перевести число из восьмеричной системы в двоичную, нужно каждую восьмеричную цифру записать ее двоичным кодом:

156,2 8 = 001 101 110,010 2 .

Четыре разряда шестнадцатеричной системы счисления реализуют все возможные комбинации шестнадцатеричных цифр в двоичной системе счисления: от 0 (0000) до F(1111). Чтобы преобразовать двоичное число в шестнадцатеричное, нужно объединить двоичные цифры в группы по 4 разряда (тетрады) в две стороны, начиная от разделителя целой и дробной части. При необходимости слева от исходного числа нужно добавить незначащие нули. Если число содержит дробную часть, то справа от нее тоже нужно добавить незначащие нули до заполнения всех тетрад. Затем каждая тетрада заменяется шестнадцатеричной цифрой.

Пример: Преобразовать число 1101110,11 2 в шестнадцатеричную систему счисления.

Объединяем двоичные цифры в тетрады справа налево. Получаем

0110 1110,1100 2 = 6E,C 16 .

Чтобы перевести число из шестнадцатеричной системы в двоичную, нужно каждую шестнадцатеричную цифру записать ее двоичным кодом.

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

Восьмеричная система счисления

Восьмеричная система примечательна тем, что ее основание - восемь - является степенью двойки. А это дает возможность перевести в восьмеричную систему из двоичной и наоборот при помощи математической хитрости. Так как восемь - это два в третьей степени, одна цифра восьмеричной системы будет переходить строго в три цифры двоичной. И переводить можно, используя таблицу:

0 8 000 2
1 8 001 2
2 8 010 2
3 8 011 2
4 8 100 2
5 8 101 2
6 8 110 2
7 8 111 2

Например, число 1001011101010 2 нужно перевести в восьмеричную систему счисления.

  • Сначала разобьем его на триады - отрезки по три цифры.

1 001 011 101 010 2

  • Так как ровно по три цифры не получилось, добавим слева два нуля. Число от этого не изменится.

001 001 011 101 010 2

  • А теперь заменяем каждый отрезок его восьмеричным аналогом, сверяясь с таблицей.

Получили число 1132 8 .

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

В этом случае такой упрощенный способ не пройдет. Рассмотрим для примера число 1762 10 , которое нужно перевести в восьмеричный вид.

  1. Делим с остатком 1762 на 8. Получается 220 и 2 в остатке. 220 больше 8, поэтому продолжаем.
  2. Делим с остатком 220 на 8. Получается 27 и 4 в остатке. 27 больше 8, поэтому продолжаем.
  3. Делим с остатком 27 на 8. Получается 3 и 3 в остатке. 3 меньше 8, деление окончено.

Теперь нужно записать сначала последний остаток, а затем в обратном порядке частные от деления на всех этапах.

Последний остаток равен 3. Частное на 3 этапе равно 3. Частное на 2 этапе равно 4. Частное на 1 этапе равно 2. Получаем число 3342 8 , которое и является правильным ответом.

Как перевести в восьмеричную систему из десятичной попроще? Сначала из десятичного число нужно перевести в двоичный вид, а затем в восьмеричный с помощью таблицы. Перевод из десятичной системы в двоичную полностью аналогичен описанному алгоритму, только делить надо не на восемь, а, соответственно, на два. Именно потому, что делить на два проще, чем на восемь, переводом в из десятичной или шестнадцатеричной систем в восьмеричную через двоичную нередко пользуются. А так как шестнадцать - это два в четвертой степени, для перевода из шестнадцатеричной системы в двоичную существует такая же таблица, но для отрезков по четыре цифры.

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

Число

Перевод из 10 2 8 16 системы счисления. Перевести в 2 10 8 16 систему счисления .
Для дробных чисел использовать 2 3 4 5 6 7 8 знака после запятой.

Можно вводить как целые числа, например 34 , так и дробные, например, 637.333 . Для дробных чисел указывается точность перевода после запятой.

Вместе с этим калькулятором также используют следующие:

Способы представления чисел

Двоичные (binary) числа – каждая цифра означает значение одного бита (0 или 1), старший бит всегда пишется слева, после числа ставится буква «b». Для удобства восприятия тетрады могут быть разделены пробелами. Например, 1010 0101b.
Шестнадцатеричные (hexadecimal) числа – каждая тетрада представляется одним символом 0...9, А, В, ..., F. Обозначаться такое представление может по-разному, здесь используется только символ «h» после последней шестнадцатеричной цифры. Например, A5h. В текстах программ это же число может обозначаться и как 0хА5, и как 0A5h, в зависимости от синтаксиса языка программирования. Незначащий ноль (0) добавляется слева от старшей шестнадцатеричной цифры, изображаемой буквой, чтобы различать числа и символические имена.
Десятичные (decimal) числа – каждый байт (слово, двойное слово) представляется обычным числом, а признак десятичного представления (букву «d») обычно опускают. Байт из предыдущих примеров имеет десятичное значение 165. В отличие от двоичной и шестнадцатеричной формы записи, по десятичной трудно в уме определить значение каждого бита, что иногда приходится делать.
Восьмеричные (octal) числа – каждая тройка бит (разделение начинается с младшего) записывается в виде цифры 0–7, в конце ставится признак «о». То же самое число будет записано как 245о. Восьмеричная система неудобна тем, что байт невозможно разделить поровну.

Алгоритм перевода чисел из одной системы счисления в другую

Перевод целых десятичных чисел в любую другую системы счисления осуществляется делением числа на основание новой системы счисления до тех пор, пока в остатке не останется число меньшее основания новой системы счис­ления. Новое число записывается в виде остатков деления, начиная с последнего.
Перевод правильной десятичной дроби в другую ПСС осуществляется умножением только дробной части числа на основание новой системы счисления до тех пор пока в дробной части не останутся все нули или пока не будет достигнута заданная точность перевода. В результате выполнения каждой операции умножения формируется одна цифра нового числа начиная со старшего.
Перевод неправильной дроби осуществляется по 1 и 2 правилу. Целую и дробную часть записывают вместе, отделяя запятой.

Пример №1 .



Перевод из 2 в 8 в 16 системы счисления.
Эти системы кратны двум, следовательно, перевод осуществляется с использованием таблицы соответствия (см. ниже).

Для перевода числа из двоичной системы счисления в восьмиричную (шестнадцатиричную) необходимо от запятой вправо и влево разбить двоичное число на группы по три (четыре – для шестнадцатиричной) разряда, дополняя при необходимости нулями крайние группы. Каждую группу заменяют соответствующей восьмиричной или шестнадцатиричной цифрой.

Пример №2 . 1010111010,1011 = 1.010.111.010,101.1 = 1272,51 8
здесь 001=1; 010=2; 111=7; 010=2; 101=5; 001=1

При переводе в шестнадцатеричную систему необходимо делить число на части, по четыре цифры, соблюдая те же правила.
Пример №3 . 1010111010,1011 = 10.1011.1010,1011 = 2B12,13 HEX
здесь 0010=2; 1011=B; 1010=12; 1011=13

Перевод чисел из 2 , 8 и 16 в десятичную систему исчисления производят путем разбивания числа на отдельные и умножения его на основание системы (из которой переводится число) возведенное в степень соответствующую его порядковому номеру в переводимом числе. При этом числа нумеруются влево от запятой (первое число имеет номер 0) с возрастанием, а в правую сторону с убыванием (т.е. с отрицательным знаком). Полученные результаты складываются.

Пример №4 .
Пример перевода из двоичной в десятичную систему счисления.

1010010,101 2 = 1·2 6 +0·2 5 +1·2 4 +0·2 3 +0·2 2 +1·2 1 +0·2 0 + 1·2 -1 +0·2 -2 +1·2 -3 =
= 64+0+16+0+0+2+0+0.5+0+0.125 = 82.625 10 Пример перевода из восьмеричной в десятичную систему счисления. 108.5 8 = 1*·8 2 +0·8 1 +8·8 0 + 5·8 -1 = 64+0+8+0.625 = 72.625 10 Пример перевода из шестнадцатеричной в десятичную систему счисления. 108.5 16 = 1·16 2 +0·16 1 +8·16 0 + 5·16 -1 = 256+0+8+0.3125 = 264.3125 10

Еще раз повторим алгоритм перевода чисел из одной системы счисления в другую ПСС

  1. Из десятичной системы счисления:
    • разделить число на основание переводимой системы счисления;
    • найти остаток от деления целой части числа;
    • записать все остатки от деления в обратном порядке;
  2. Из двоичной системы счисления
    • Для перевода в десятичную систему счисления необходимо найти сумму произведений основания 2 на соответствующую степень разряда;
    • Для перевода числа в восьмеричную необходимо разбить число на триады.
      Например, 1000110 = 1 000 110 = 106 8
    • Для перевода числа из двоичной системы счисления в шестнадцатеричную необходимо разбить число на группы по 4 разряда.
      Например, 1000110 = 100 0110 = 46 16
Позиционной называется система , для которой значимость или вес цифры зависит от ее места расположения в числе. Соотношение между системами выражается таблицей.
Таблица соответствия систем счисления:
Двоичная СС Шестнадцатеричная СС
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F

Таблица для перевода в восьмеричную систему счисления