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

Системы счисления

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

Примером позиционной формы записи чисел является та, которой мы пользуемся (так называемая арабская форма чисел). Так, в числах 123 и 321 значения цифры 3, например, определяются ее положением в числе: в первом случае она обозначает три единицы (т.е. просто три), а во втором – три сотни (т.е. триста).

Тогда полное число получается по формуле:

где l – количество разрядов числа, уменьшенное на 1,

i – порядок разряда,

m – основание системы счисления,

a i – множитель, принимающий любые целочисленные значения от 0 до m -1, и соответствующий цифре i -го порядка числа.

Например, для десятичного (m = 10) числа 345 его полное значение рассчитывается по формуле:

3*10 2 + 4*10 1 + 5*10 0 = 345.

Римские числа являются примером полупозиционной системы образования числа: так, в числах IX и XI знак I обозначает в обоих случаях единицу (признак непозиционной системы), но, будучи расположенным слева от знака X (обозначающего десять), вычитается из десяти, а при расположении справа – прибавляется к десяти. В первом случае полное значение числа равно 9, во втором – 11.

В современной информатике используются в основном три системы счисления (все – позиционные): двоичная, шестнадцатеричная и десятичная.

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

Шестнадцатеричная система счисления используется для кодирования дискретного сигнала, потребителем которого является хорошо подготовленный пользователь – специалист в области информатики. В такой форме представляется содержимое любого файла, затребованное через интегрированные оболочки операционной системы, например, средствами Norton Commander в случае MS DOS. Используемые знаки для представления числа – десятичные цифры от 0 до 9 и буквы латинского алфавита – A, B, C, D, E, F.

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

Для различения систем счисления, в которых представлены числа, в обозначение двоичных и шестнадцатеричных чисел вводят дополнительные реквизиты:

    для двоичных чисел – нижний индекс справа от числа в виде цифры 2 или букв В либо b (binary – двоичный), либо знак B или b справа от числа. Например, 101000 2 = 101000 b = 101000 B = 101000B = 101000b;

    для шестнадцатеричных чисел - нижний индекс справа от числа в виде числа 16 или букв H либо h (hexadecimal – шестнадцатеричный), либо знак H или h справа от числа. Например, 3AB 16 = 3AB H = 3AB h = 3ABH = 3ABh.

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

Правила перевода целых чисел

Результатом перевода целого числа всегда является целое число.

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

а) исходное целое число делится на основание системы счисления, в которую переводится (на 2 - при переводе в двоичную систему счисления или на 16 - при переводе в шестнадцатеричную); получается частное и остаток;

б) если полученное частное меньше основания системы счисления, в которую выполняется перевод, процесс деления прекращается, переходят к шагу в). Иначе над частным выполняют действия, описанные в шаге а);

в) все полученные остатки и последнее частное преобразуются в соответствии с таблицей перевода в цифры той системы счисления, в которую выполняется перевод;

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

Пример 1 . Выполнить перевод числа 19 в двоичную систему счисления:

Таким образом, 19 = 10011 2 .

Пример 2 . Выполнить перевод числа 19 в шестнадцатеричную систему счисления:

Таким образом, 19 = 13 16 .

Пример 3. Выполнить перевод числа 123 в шестнадцатеричную систему счисления:

Здесь остаток 11 преобразован в шестнадцатеричную цифру В) и после этого данная цифра вошла в число. Таким образом, 123 = 7В 16 .

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

В этом случае рассчитывается полное значение числа по известной формуле .

Пример 4. Выполнить перевод числа 13 16 в десятичную систему счисления. Имеем:

13 16 = 1*16 1 + 3*16 0 = 16 + 3 = 19.

Таким образом, 13 16 = 19.

Пример 5. Выполнить перевод числа 10011 2 в десятичную систему счисления. Имеем:

10011 2 = 1*2 4 + 0*2 3 + 0*2 2 + 1*2 1 + 1*2 0 = 16+0+0+2+1 = 19.

Таким образом, 10011 2 = 19.

а) исходное число разбивается на тетрады (т.е. 4 цифры), начиная с младших разрядов. Если количество цифр исходного двоичного числа не кратно 4, оно дополняется слева незначащими нулями до достижения кратности 4;

б) каждая тетрада заменятся соответствующей шестнадцатеричной цифрой в соответствии с таблицей .

Двоичное число

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

Пример 6. Выполнить перевод числа 10011 2 в шестнадцатеричную систему счисления.

Поскольку в исходном двоичном числе количество цифр не кратно 4, дополняем его слева незначащими нулями до достижения кратности 4 числа цифр. Имеем:

В соответствии с таблицей 0011 2 = 11 2 = 3 16 и 0001 2 = 1 2 = 1 16 .

Тогда 10011 2 = 13 16 .

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

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

Двоичное число

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

а) каждая цифра исходного числа заменяется тетрадой двоичных цифр в соответствии с таблицей . Если в таблице двоичное число имеет менее 4 цифр, оно дополняется слева незначащими нулями до тетрады;

б) незначащие нули в результирующем числе отбрасываются.

Пример 7. Выполнить перевод числа 13 16 в двоичную систему счисления.

По таблице имеем:

    1 16 = 1 2 и после дополнения незначащими нулями двоичного числа 1 2 = 0001 2 ;

    3 16 = 11 2 и после дополнения незначащими нулями двоичного числа 11 2 = 0011 2 .

Тогда 13 16 = 00010011 2 . После удаления незначащих нулей имеем 13 16 = 10011 2 .

В из восьмеричной в двоичную аналогично.

Правила перевода правильных дробей

Напомним, что правильная дробь имеет нулевую целую часть, т.е. у нее числитель меньше знаменателя.

Результат перевода правильной дроби всегда правильная дробь.

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

а) исходная дробь умножается на основание системы счисления, в которую переводится (2 или 16);

б) в полученном произведении целая часть преобразуется в цифру нужной системы счисления и отбрасывается – она является старшей цифрой получаемой дроби;

в) оставшаяся дробная часть (это правильная дробь) вновь умножается на нужное основание системы счисления с последующей обработкой полученного произведения в соответствии с шагами а) и б);

г) процедура умножения продолжается до тех пор, пока ни будет получен нулевой результат в дробной части произведения или ни будет достигнуто требуемое количество цифр в результате;

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

Пример 1 . Выполнить перевод числа 0,847 в двоичную систему счисления. Перевод выполнить до четырех значащих цифр после запятой.

Таким образом, 0,847 = 0,1101 2 .

В данном примере процедура перевода прервана на четвертом шаге, поскольку получено требуемое число разрядов результата. Очевидно, это привело к потере ряда цифр.

Пример 2. Выполнить перевод числа 0,847 в шестнадцатеричную систему счисления. Перевод выполнить до трех значащих цифр.

В данном примере также процедура перевода прервана.

Таким образом, 0,847 = 0,D8D 16 .

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

В этом случае рассчитывается полное значение числа по формуле , причем коэффициенты a i принимают десятичное значение

Пример 3 . Выполнить перевод из двоичной системы счисления в десятичную числа 0,1101 2 .

0,1101 2 = 1*2 -1 + 1*2 -2 + 0*2 -3 +1*2 -4 = 0,5 + 0,25 + 0 + 0,0625 = 0,8125.

пример 1 ) вызвано тем, что процедура перевода в двоичную дробь была прервана.

Таким образом, 0,1101 2 = 0,8125.

Пример 4 . Выполнить перевод из шестнадцатеричной системы счисления в десятичную числа 0,D8D 16 .

0,D8D 16 = 13*16 -1 + 8*16 -2 + 13*16 -3 = 13*0,0625 + 8*0,003906 + 13* 0,000244 = 0,84692.

Расхождение полученного результата с исходным числом (см. пример 2 ) вызвано тем, что процедура перевода в шестнадцатеричную дробь была прервана.

Таким образом, 0,D8D 16 = 0,84692.

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

а) исходная дробь делится на тетрады, начиная с позиции десятичной точки вправо. Если количество цифр дробной части исходного двоичного числа не кратно 4, оно дополняется справа незначащими нулями до достижения кратности 4;

б) каждая тетрада заменяется шестнадцатеричной цифрой в соответствии с таблицей .

Пример 5 . Выполнить перевод из двоичной системы счисления в шестнадцатеричную числа 0,1101 2 .

В соответствии с таблицей 1101 2 = D 16 . Тогда 0,1101 2 = 0,D 16 .

Пример 6 . Выполнить перевод из двоичной системы счисления в шестнадцатеричную числа 0,0010101 2 .

Поскольку количество цифр дробной части не кратно 4, добавим справа незначащий ноль:

В соответствии с таблицей 0010 2 = 10 2 = 2 16 и 1010 2 = A 16 .

Тогда 0,0010101 2 = 0,2A 16 .

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

а) каждая цифра исходной дроби заменяется тетрадой двоичных цифр в соответствии с таблицей ;

б) незначащие нули отбрасываются.

Пример 7 . Выполнить перевод из шестнадцатеричной системы счисления в двоичную числа 0,2А 16.

По таблице имеем 2 16 = 0010 2 и А 16 = 1010 2 .

Тогда 0,2А 16 = 0,00101010 2 .

Отбросим в результате незначащий ноль и получим окончательный ответ: 0,2А 16 = 0,0010101 2

Правило перевода дробных чисел (неправильных дробей)

Напомним, что неправильная дробь имеет ненулевую дробную часть, т.е. у нее числитель больше знаменателя.

Результат перевода неправильной дроби всегда неправильная дробь.

При переводе отдельно переводится целая часть числа, отдельно – дробная. Результаты складываются.

Пример 1 . Выполнить перевод из десятичной системы счисления в шестнадцатеричную числа 19,847. Перевод выполнять до трех значащих цифр после запятой.

Представим исходное число как сумму целого числа и правильной дроби:

19,847 = 19 + 0,847.

Как следует из примера 2 раздела Перевод целых чисел 19 = 13 16 , а в соответствии с примером 2 раздела Перевод правильных дробей 0,847 = 0,D8D 16 .

Тогда имеем:

19 + 0,847 = 13 16 + 0,D8D 16 = 13,D8D 16 .

Таким образом, 19,847 = 13,D8D 16 .

Правила выполнения простейших арифметических действий

Арифметические операции для двоичных и шестнадцатеричных чисел выполняются по тем же правилам, что и для десятичных чисел, которые хорошо знакомы читателю. Рассмотрим на примерах выполнение таких арифметических операций, как сложение, вычитание и умножение для целых чисел.

Правила сложения

Таблица сложения двоичных цифр имеет вид (желтым цветом выделены значения суммы):

Пример 1 . Сложить двоичные числа 1101 и 11011.

Процесс образования суммы по разрядам описан ниже:

а) разряд 1: 1 2 + 1 2 = 10 2 ; 0 остается в разряде 1, 1 переносится в разряд 2;

б) разряд 2: 0 2 + 1 2 + 1 2 = 10 2 , где вторая 1 2 – единица переноса; 0 остается в разряде 2, 1 переносится в разряд 3;

в) разряд 3: 1 2 + 0 2 + 1 2 = 10 2 , где вторая 1 2 – единица переноса; 0 остается в разряде 3, 1 переносится в разряд 4;

г) разряд 4: 1 2 + 1 2 + 1 2 = 11 2 , где третья 1 2 – единица переноса; 1 остается в разряде 4, 1 переносится в разряд 5;

д) разряд 5: 1 2 + 1 2 = 10 2 ; где вторая 1 2 – единица переноса; 0 остается в разряде 5, 1 переносится в разряд 6.

Таким образом: 1 1 0 1 2 +1 1 0 1 1 2 = 10 1 0 0 0 2 .

Проверим результат. Для этого определим полные значения слагаемых и суммы (см. Перевод целых чисел ):

1101 2 = 1*2 3 +1*2 2 + 0*2 1 + 1*2 0 = 8 + 4 + 1 = 13;

11011 2 = 1*2 4 + 1*2 3 + 0*2 2 + 1*2 1 + 1*2 0 = 16 + 8 + 2 + 1 = 27;

101000 2 = 1*2 5 + 0*2 4 + 1*2 3 + 0*2 2 + 0*2 1 + 0*2 0 = 32 + 8 = 40.

Поскольку 13 + 27 = 40, двоичное сложение выполнено верно.

Таблица сложения некоторых шестнадцатеричных чисел имеет вид (обозначения строк и столбцов соответствуют слагаемым):

Пример 2 . Сложить шестнадцатеричные числа 1С и 7В.

Запишем слагаемые в столбик и пронумеруем разряды, присвоив младшему разряду номер 1:

Процесс образования результата по разрядам с использованием приведенной таблицы описан ниже:

а) разряд 1: С 16 + В 16 = 17 16 ; 7 остается в разряде 1; 1 переносится в разряд 2;

б) разряд 2: 1 16 + 7 16 + 1 16 = 9 16 , где вторая 1 16 – единица переноса.

Таким образом: 1 С 16 + 7 В 16 = 9 7 16 .

Проверим результат. Для этого определим полные значения слагаемых и результата (см. Перевод целых чисел ):

1С 16 = 1*16 1 + 12*16 0 = 16 + 12 = 28;

7В 16 = 7*16 1 + 11*16 0 = 112 + 11 = 123;

97 16 = 9*16 1 + 7*16 0 = 144 + 7 = 151.

Поскольку 28 + 123 = 151, сложение выполнено верно.

Правила вычитания

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

Пример 3 . Вычесть из двоичного числа 101 двоичное число 11.

В двоичной системе счисления используются всего две цифры 0 и 1. Другими словами, двойка является основанием двоичной системы счисления. (Аналогично у десятичной системы основание 10.)

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

В десятичной системе счисления мы располагаем десятью знаками-цифрами (от 0 до 9). Когда счет достигает 9, то вводится новый разряд (десятки), а единицы обнуляются и счет начинается снова. После 19 разряд десятков увеличивается на 1, а единицы снова обнуляются. И так далее. Когда десятки доходят до 9, то потом появляется третий разряд – сотни.

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

Попробуем считать в двоичной системе:
0 – это ноль
1 – это один (и это предел разряда)
10 – это два
11 – это три (и это снова предел)
100 – это четыре
101 – пять
110 – шесть
111 – семь и т.д.

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

Не трудно заметить, что в двоичной системе счисления длины чисел с увеличением значения растут быстрыми темпами. Как определить, что значит вот это: 10001001? Непривычный к такой форме записи чисел человеческий мозг обычно не может понять сколько это. Неплохо бы уметь переводить двоичные числа в десятичные.

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

1476 = 1000 + 400 + 70 + 6

1476 = 1 * 10 3 + 4 * 10 2 + 7 * 10 1 + 6 * 10 0

Посмотрите на эту запись внимательно. Здесь цифры 1, 4, 7 и 6 - это набор цифр из которых состоит число 1476. Все эти цифры поочередно умножаются на десять возведенную в ту или иную степень. Десять – это основание десятичной системы счисления. Степень, в которую возводится десятка – это разряд цифры за минусом единицы.

Аналогично можно разложить и любое двоичное число. Только основание здесь будет 2:

10001001 = 1*2 7 + 0*2 6 + 0*2 5 + 0*2 4 + 1*2 3 + 0*2 2 + 0*2 1 + 1*2 0

1*2 7 + 0*2 6 + 0*2 5 + 0*2 4 + 1*2 3 + 0*2 2 + 0*2 1 + 1*2 0 = 128 + 0 + 0 + 0 + 8 + 0 + 0 + 1 = 137

Т.е. число 10001001 по основанию 2 равно числу 137 по основанию 10. Записать это можно так:

10001001 2 = 137 10

Почему двоичная система счисления так распространена?

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

Перевод десятичного числа в двоичное

Может потребоваться перевести десятичное число в двоичное. Один из способов – это деление на два и формирование двоичного числа из остатков. Например, нужно получить из числа 77 его двоичную запись:

77 / 2 = 38 (1 остаток)
38 / 2 = 19 (0 остаток)
19 / 2 = 9 (1 остаток)
9 / 2 = 4 (1 остаток)
4 / 2 = 2 (0 остаток)
2 / 2 = 1 (0 остаток)
1 / 2 = 0 (1 остаток)

Собираем остатки вместе, начиная с конца: 1001101. Это и есть число 77 в двоичном представлении. Проверим:

1001101 = 1*2 6 + 0*2 5 + 0*2 4 + 1*2 3 + 1*2 2 + 0*2 1 + 1*2 0 = 64 + 0 + 0 + 8 + 4 + 0 + 1 = 77

В разделе на вопрос как перейти из десятичной системы счисления в двоичную? заданный автором Ђатьяна Татьяна лучший ответ это Преобразование десятичных чисел в двоичные

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

19 /2 = 9 с остатком 1
9 /2 = 4 c остатком 1
4 /2 = 2 с остатком 0
2 /2 = 1 с остатком 0
1 /2 = 0 с остатком 1

Итак, мы делим каждое частное на 2 и записываем в остаток 1 или 0. Продолжать деление надо пока в делимом не будет 1. Ставим числа из остатка друг за другом, начиная с конца. В результате получаем число 19 в двоичной записи (начиная с конца) : 10011.

удачи))

Ответ от Rosella [гуру]

Чтобы перевести 19 в двоичное, выбираем в верхнем ряду наибольшее число, которое без остатка делится на 19. В нашем случае это 16. (До 19 нехватает еще 3) След число, которое делится без остатка на 3, это 2. (Остается 1) 1 делится на 1 без остатка. выбрали числа 16 - 2 - 1. Под ними пишем "1", под остальными "0". Получаем 10011.
Достаточно громоздко выглядит на словах. Но если присмотреться к таблице - ничего сложного в ней нет. Она быстро запоминается и никакая ручка и бумага не нужна для перевода.

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

Перевод числа из двоичной системы в десятичную. Возьмем любое двоичное число, например 10,112. Запишем его в развернутой форме и произведем вычисления:

10,112 = 1* 21 +0*2° + 1*2-1 + 1*2-2 = 1*2 + 0*1 + 1*1/2 + 1*1/4 = 2,7510.

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

Возьмем любое восьмеричное число, например 67,58. Запишем его в развернутой форме и произведем вычисления:

67,58 = 6*81 + 7*8° + 5*8-1 = 6*8 + 7*1 + 5*1/8 = 55,62510.

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

Возьмем любое шестнадцатеричное число, например 19F16. Запишем его в развернутой форме (при этом необходимо помнить, что шестнадцатеричная цифра F соответствует десятичному числу 15) и произведем вычисления:

19F16 = 1*162 + 9*161 + F*16° = 1*256 + 9*16 + 15*1 = 41510.

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

Алгоритм перевода целых десятичных чисел в двоичную систему счисления. Пусть Ацд -- целое десятичное число. Запишем его в виде суммы степеней основания 2 с двоичными коэффициентами. В его записи в развернутой форме будут отсутствовать отрицательные степени основания (числа 2):

Aцд= an-1*2n-1+ an-2*2n-2+…+ a1*21+a0*20

На первом шаге разделим число А на основание двоичной системы, то есть на 2. Частное от деления будет равно

an-1*2n-2+ an-2*2n-3+…+ a1

На втором шаге целое частное опять разделим на 2, остаток от деления будет теперь равен a0

Если продолжать этот процесс деления, то после n-го шага получим последовательность остатков:

а0, а1, ..., аn-1

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

А2 = an-1…a1a0

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

Алгоритм перевода целого десятичного числа в двоичное будет следующим:

Последовательно выполнять деление исходного целого десятичного числа и получаемых целых частных на основание системы (на 2) до тех пор, пока не получится частное, меньшее делителя, то есть меньшее 2.

Записать полученные остатки в обратной последовательности.

В качестве примера рассмотрим перевод десятичного числа 19 в двоичную систему, записывая результаты в таблицу:

В результате получаем двоичное число: А2 = а 4 а 3а 2а1 a0 = 100112.

Алгоритм перевода правильных десятичных дробей в двоичную систему счисления. Пусть А - правильная десятичная дробь. В ее записи в развернутой форме будут отсутствовать положительные степени основания (числа 2):

Адд = a-1*2-1+ a-2*2-2

На первом шаге умножим число Адд на основание двоичной системы, то есть на 2. Произведение будет равно:

a-1 +a-2*2-1+…

Целая часть будет равна а-1

На втором шаге оставшуюся дробную часть опять умножим на 2, получим целую часть, равную а-2

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

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

Алгоритм перевода правильной десятичной дроби в двоичную будет следующим:

  • 1. Последовательно выполнять умножение исходной десятичной дроби и получаемых дробных частей произведений на основание системы (на 2) до тех пор, пока не получится нулевая дробная часть или не будет достигнута требуемая точность вычислений.
  • 2. Записать полученные целые части произведения в прямой последовательности.

В качестве примера рассмотрим перевод десятичной дроби 0,75 в двоичную систему, записывая результаты в таблицу:


В результате получаем двоичную дробь: А2 = 0,а -1a-2=0,112 .

Перевод чисел из позиционной системы с произвольным основанием р в систему с основанием q производится по алгоритмам, аналогичным рассмотренным выше.

Рассмотрим алгоритм перевода целых чисел на примере перевода целого десятичного числа А10 = 42410 в шестнадцатеричную систему, то есть из системы счисления с основанием р = 10 в систему счисления с основанием q = 16.

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



Рассмотрим теперь алгоритм перевода дробных чисел на примере перевода десятичной дроби А10 = 0,625 в восьмеричную систему, то есть из системы счисления с основанием р = 10 в систему счисления с основанием q = 8.

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

Перевод чисел между системами счисления, основания которых являются степенями числа 2 (q = 2n), может производиться по более простым алгоритмам. Такие алгоритмы могут применяться для перевода чисел между двоичной (q = 21), восьмеричной (q = 23) и шестнадцатеричной (q = 24) системами счисления.

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

2 = 21 . Так как 2 - 21, то I = 1 бит.

Каждый разряд двоичного числа содержит 1 бит информации вариантов записи. Решим показательное уравнение

8 = 2i . Так как 8 = 23, то I= 3 бита. Каждый вариант восьмеричного числа содержит 3 бита информации

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

Переведем таким способом двоичное число 1010012 в восьмеричное:518

Для упрощения перевода можно заранее подготовить таблицу преобразования двоичных триад (групп по 3 цифры) в восьмеричные цифры:

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

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

Переведем целое двоичное число А2 = 1010012 в шестнадцатеричное:

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

Например, преобразуем дробное двоичное число А2 = = 0,1101012 в восьмеричную систему счисления:

Получаем: А8 = 0,658.

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

Для записи шестнадцатеричных чисел используются шестнадцать цифр, то есть в каждом разряде числа возможны 16 вариантов записи. Решаем показательное уравнение:

16 = 21 . Так как 16 = 24, то I = 4 бита.

Каждый разряд шестнадцатеричного числа содержит 4 бита информации.

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

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

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

Например, преобразуем дробное восьмеричное число А8 = 0,478 в двоичную систему счисления:

Впервые позиционная система счисления возникла в древнем Вавилоне. В Индии система работает в виде

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

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

называть арабской.

Позиционная система — значение всех цифр зависит от позиции (разряда) данной цифры в числе.

Примеры, стандартная 10-я система счисления - это позиционная система. Допустим дано число 453.

Цифра 4 обозначает сотни и соответствует числу 400, 5 — кол-во десятков и соответствует значению 50,

а 3 — единицы и значению 3. Легко заметить, что с увеличением разряда увеличивается значение.

Таким образом, заданное число запишем в виде суммы 400+50+3=453.

Двоичная система счисления.

Здесь только 2 цифры - это 0 и 1. Основание двоичной системы - число 2.

Цифра, которая находится с самого края справа, указывает количество единиц, вторая цифра -

Во всех разрядах возможна лишь одна цифра — или нуль, или единица.

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

это число в виде последовательности нулей и единиц.

Пример: 10112 = 1*2 3 + 0*2*2+1*2 1 +1*2 0 =1*8 + 1*2+1=1110

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

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

в изображение на экране.

Сложение, вычитание и умножение двоичных чисел.

Таблица сложения в двоичной системе счисления:

10 (перенос в

старший разряд)

Таблица вычитания в двоичной системе счисления:

(заём из старшего

разряда) 1

Пример сложения «столбиком» (14 10 + 5 10 = 19 10 или 1110 2 + 101 2 = 10011 2):

+ 1 1 1 0
1 0 1
1 0 0 1 1

Таблица умножения в двоичной системе счисления:

Пример умножения «столбиком» (14 10 * 5 10 = 70 10 или 1110 2 * 101 2 = 1000110 2):

* 1 1 1 0
1 0 1
+ 1 1 1 0
1 1 1 0
= 1 0 0 0 1 1 0

Преобразование чисел в двоичной системе счисления.

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

основания 2:

Начиная с цифры один каждая цифра умножается на 2. Точка, стоящая после 1, называют двоичной точкой .

Преобразование двоичных чисел в десятичные.

Пусть, есть двоичное число 110001 2 . Для перевода в десятичное записываем его в виде суммы по

разрядам следующим образом:

1 * 2 5 + 1 * 2 4 + 0 * 2 3 + 0 * 2 2 + 0 * 2 1 + 1 * 2 0 = 49

Немного по другому:

1 * 32 + 1 * 16 + 0 * 8 + 0 * 4 + 0 * 2 + 1 * 1 = 49

Также хорошо записывать расчет как таблицу:

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

Преобразование дробных двоичных чисел в десятичные.

Задание: перевести число 1011010, 101 2 в десятичную систему.

Записываем заданное число в таком виде:

1*2 6 +0*2 5 +1*2 4 +1*2 3 +0 *2 2 + 1 * 2 1 + 0 * 2 0 + 1 * 2 -1 + 0 * 2 -2 + 1 * 2 -3 = 90,625

Другой вариант записи:

1*64+0*32+1*16+1*8+0*4+1*2+0*1+1*0,5+0*0,25+1*0,125 = 90,625

Либо в виде таблицы:

0.25

0.125

0.125

Преобразование десятичных чисел в двоичные.

Пусть, необходимо перевести число 19 в двоичное. Можем сдеать это таким образом:

19 /2 = 9 с остатком 1

9 /2 = 4 c остатком 1

4 /2 = 2 без остатка 0

2 /2 = 1 без остатка 0

1 /2 = 0 с остатком 1

То есть, каждое частное делится на 2 и записывается остаток в конец двоичной записи. Деление

продолжается до того момента, когда в частном не будет нуля. Итог пишем справа налево. Т.е. нижняя

цифра (1) будет крайней левой и так далее. Итак, у нас получилось число 19 в двоичной записи: 10011.

Преобразование дробных десятичных чисел в двоичные.

Когда в заданном числе присутствует целая часть, то ее преобразуют отдельно от дробной. Перевод

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

  • Дробь умножается на основание двоичной системы счисления (2);
  • В полученном произведении выделяется целая часть, которая принимается в качестве старшего

разряда числа в двоичной системе счисления;

  • Алгоритм завершается, если дробная часть полученного произведения равна нулю или если

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

дробной частью произведения.

Пример : Нужно перевести дробное десятичное число 206,116 в дробное двоичное число.

Переведя целую часть, получаем 206 10 =11001110 2 . Дробная часть 0,116 умножается на основание 2,

заносим целые части произведения в разряды после запятой:

0,116 . 2 = 0,232

0,232 . 2 = 0,464

0,464 . 2 = 0,928

0,928 . 2 = 1,856

0,856 . 2 = 1,712

0,712 . 2 = 1,424

0,424 . 2 = 0,848

0,848 . 2 = 1,696

0,696 . 2 = 1,392

0,392 . 2 = 0,784

Результат: 206,116 10 ≈ 11001110,0001110110 2

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

1. Из десятичной системы счисления:

  • делим число на основание переводимой системы счисления;
  • находим остаток от деления целой части числа;
  • записываем все остатки от деления в обратном порядке;

2. Из двоичной системы счисления:

  • для перевода в десятичную систему счисления находим сумму произведений основания 2 на

соответствующую степень разряда;

Вверх