yandex rtb 1
ГоловнаЗворотній зв'язок
yande share
Главная->Різні конспекти лекцій->Содержание->2.2. Двоичная система счисления

Организация ЭВМ

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

В двоичной системе счисления основание S = 2, т.е. используются всего два символа: 0 и 1. Двоичная система счисления проще десятичной. Однако двоичное изображение числа требует большего (для многоразрядного числа примерно в 3,3 раза) числа разрядов, чем его десятичное представление. Тем не менее применение двоичной системы создает большие удобства для проектирования ЭВМ, так как для представления в машине разряда двоичного числа может быть использован любой простой элемент, имеющий всего два устойчивых состояния. Также достоинством двоичной системы счисления является простота двоичной арифметики.

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

 

, где .

 

Вес каждого разряда в двоичной системе счисления кратен 2 или 1/2.

Пример.

Двоичное число – 101101(2).

 

 

Веса

 

 

 

 ,

 

т.е. .

Как и в десятичной, в двоичной системе счисления для отделения целой части от дробной используется точка. Значение веса разрядов справа от точки равно основанию двоичной системы (2), возведенному в отрицательную степень. Такие веса – это дроби вида: 1/2, 1/22, 1/23, 1/24, 1/25 или 1/2, 1/4, 1/8, 1/16. Их можно выразить через десятичные дроби: 2-1 = 0.5, 2-2 = 0.25, 2-3 = 0.125, 2-4 = 0,0625.

В общем случае двоичное число имеет целую и дробную части, например 1101101.10111.

Каждая позиция, занятая двоичной цифрой, называется битом. Бит является наименьшей единицей информации в ЭВМ. Наименьшим значащим битом (МЗР) называют самый младший двоичный разряд, а самым старшим двоичным разрядом – наибольший значащий бит (СЗР). В двоичном числе эти биты имеют соответственно наименьший и наибольший вес. Обычно двоичное число записывают так, что старший значащий бит является крайним слева.

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

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

 

Пример.

Преобразовать целое двоичное число 11001100(2) в десятичное.

 

 

Преобразование вещественного двоичного числа 101.011(2) будет выглядеть следующим образом:

 

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

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

При работе с ЭВМ, особенно с микропроцессорами, очень часто приходится выполнять преобразование десятичных чисел в двоичные.

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

Проиллюстрируем преобразование на примере.

 

Пример.

Перевести целое десятичное число 10(10) в двоичное число.

 

 

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

 

 

Пример.

Десятичное число 57(10) преобразовать в двоичное число.

 

 

Для перевода дробных чисел (или дробных частей вещественных чисел) требуется другая процедура преобразования. Рассмотрим ее на примере.

Пример.

Десятичное число 0.375(10) преобразовать в двоичное число.

1.   Умножим дробь на основание новой системы счисления S = 2: 2*0.375 = 0.75.

2.   Если результат умножения меньше единицы, то СЗР присваивают значение 0. Если больше единицы, то присваивают значение 1. Поскольку 0.75<1, то СЗР=0.

3.   Результат предыдущей операции вновь умножаем на основание новой системы счисления 2. Если бы он был больше единицы, то в этой операции умно­жения участвовала бы только его дробная часть. В данном случае: 2*0.75=1.5.

4.   Поскольку 1.5>1, то ближайшему разряду справа от СЗР присваивается значение один, а следующая операция умножения производится только над дробной частью числа 1.5, т.е. над числом 0.5: 2*0.5=1.

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

Таким образом, 0.375(10) = 0.011(2).

Если в результате умножения на основание новой системы счисления S = 2 результат не равен единице, операцию останавливают при достижении необходимой точности, а целую часть результата последней операции умножения используют в качестве значения МЗР.

 

Пример.

Десятичное число 0.34375(10) преобразовать в двоичное число.

 

 

Таким образом, 0.34375(10) = 0.01011(2).

 

Пример.

Десятичное число 0.3(10) преобразовать в двоичное число.

 

 

Далее будут следовать повторяющиеся группы операций и результатов, поэтому ограничимся восемью разрядами, т.е. 0.3(10) = 0.01001100(2).

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

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

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

Эта система имеет основание S = 10, но каждая цифра изображается четырехразрядным двоичным числом, называемым тетрадой. Обычно данная система счисления используется в ЭВМ при вводе и выводе информации. Однако в некоторых типах ЭВМ в АЛУ имеются специальные блоки десятичной арифметики, выполняющие операции над числами в двоично-десятичном коде. Это позволяет в ряде случаев существенно повышать производительность ЭВМ.

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

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

 

Пример.

Записать десятичное число 572.38(10) в двоично-десятичной системе счисления.

 

 

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

 

Пример.

Записать двоично-десятичное число 10010.010101(2-10) в десятичной системе счисления.

 

Перевод чисел из двоично-десятичной в двоичную систему осуществляется по общим правилам, описанным выше.

 

12