Приветствую Вас Гость • Регистрация • Вход • RSS
Пятница, 9.12.2016
Главная » Файлы » Қазақша рефераттар » Аралас [ Добавить материал ]

Двоичные числа и двоичная арифметика реферат


Оқушылар,студенттер,мұғалімдер,сайт қолданушылары өз материалыңызбен бөліссеңіз қуанышты болатын едік!

11.06.2015, 22:45

Двоичные числа и двоичная арифметика
Аннотация: Рассматривается двоичная система счисления как частный случай позиционной системы и основные правила двоичной арифметики.
Ключевые слова: вес, целое число, запись, аналогия, выражение, логический, основание, связь, восьмеричная система счисления, обратный код,дополнительный код, прямой, система счисления, сложение, вычитание
Принцип представления чисел в позиционных системах счисления
Позиционной называется система счисления, в которой вес разряда числа определяется его позицией в записи числа [1].
Вспомним нашу привычную десятичную систему счисления, в которой мы с детства производим все расчеты. Уже в начальной школе мы привыкли к терминам "единицы", "десятки", "сотни", "тысячи", "десятые", "сотые", "тысячные" и не задумываемся над тем, что они означают вес разряда, выраженный в виде числа, равного  , где   - целое число. Например, число 125, 46 можно представить в виде суммы:
 
сотни десятки единицы десятые доли сотые доли
Аналогично любое число   в десятичной системе счисления можно представить в виде подобной суммы:
 
( 11.1)
где   - количество знаков в целой части числа,   - количество знаков в дробной части числа,   - вес   -го разряда,   - весовой коэффициент для   -го разряда числа. Количество возможных вариантов значения коэффициента   в десятичной системе счисления равно  , поскольку для записи чисел в ней используются десять знаков - арабские цифры "0", "1", "2", "3", "4", "5", "6", "7", "8" и "9". Число   является основанием системы счисления. Исторически сложилось, что десятичная система получила наибольшее распространение, хотя по этому принципу можно сделать аналогичную запись в любой другой системе счисления c любым другим основанием. В табл. 11.1 прослежива ется аналогия между позиционными системами счисления.
Основание системы счисления - это число, равное количеству знаков, которые используются в этой системе для записи чисел.
Для числа в системе счисления с основанием   выражение (11.1) преобразуется к виду:
 
( 11.2)
Таблица 11.1. Параметры позиционных систем счисления
Название системы счисления    Основание системы счисления    Знаки, использующиеся для записи чисел
Двоичная    2    0, 1
Троичная    3    0, 1, 2
Четверичная    4    0, 1, 2, 3
…    …    …
Восьмеричная    8    0, 1, 2, 3, 4, 5, 6, 7
…    …    …
Десятичная    10    0, 1, 2, 3, 4, 5, 6, 7, 8, 9
…    …    …
Шестнадцатеричная    16    0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
…    …    …
С началом развития цифровой вычислительной техники большой интерес стала вызывать двоичная система, поскольку вычислительная машина любого поколения и любой степени сложности - это совокупность логических схем. Работа элементов этих схем основана на ключевом режиме работы транзистора, в котором он может быть только в двух состояниях, принимаемых за логический 0 и логическую 1.
Запись двоичного числа, как будет показано ниже, как правило, довольно длинна и громоздка, поэтому для более короткой записи двоичных чисел применяются восьмеричные и шестнадцатеричные числа. Выбор именно этих систем обусловлен тем, что их основания равны целой степени числа 2.Основание восьмеричной системы  , а основание восьмеричной системы - это  . Для записи шестнадцатеричных чисел арабских цифр не хватает, поэтому используются первые шесть заглавных букв латинского алфавита.
Итак, далее мы подробно рассмотрим именно эти позиционные системы - двоичную, восьмеричную, шестнадцатеричную и их связь с привычной нам десятичной системой счисления.
Приведем примеры записи чисел в указанных системах и найдем их десятичные эквиваленты по формуле (11.2).
Для двоичного числа:
 
Здесь и далее будем придерживаться следующего правила: числа в двоичной, восьмеричной и шестнадцатеричной системах записываются с указанием основания, десятичные - без этой записи.
Для восьмеричного числа:
 
Для шестнадцатеричного числа:
 
Округление относится к дробной части числа, целая часть переводится точно. Особенностью перевода из шестнадцатеричного кода в десятичный код является то, что в качестве коэффициента   используется десятичный эквивалент шестнадцатеричного знака в соответствии с таблицей 11.2. Для нашего примера вместо знака "   " в расчетную формулу (11.2) подставляется десятичное число  .
Из рассмотренных примеров видно, что общая формула (11.2) может использоваться для перевода числа из системы счисления с любым основанием в десятичную.
Перевод чисел из одной системы счисления в другую
Перевод из десятичной системы в любую другую. Перевод целых чисел
Целое десятичное число нужно поделить на основание новой системы счисления. Остаток от этого деления является самым младшим разрядом в новой записи числа. Результат деления вновь делится на основание. Остаток от этого деления будет следующим разрядом в новой записи числа, результат деления вновь делится на основание и т.д. до тех пор, пока в результате деления получится число, меньшее по величине, чем основание новой системы. Остаток этого последнего деления будет предпоследним разрядом в новой записи числа, а результат этого последнего деления - самым старшим разрядом в новой записи числа.
Проверка перевода осуществляется по формуле (11.2), так, как это показано ниже на примерах.
Пример. Перевести десятичное число 125 в двоичную, восьмеричную и шестнадцатеричную системы счисления. Проверить результаты по формуле (П11.2).
 
 

 

a)    б)    в)
Проверка:
•    в двоичном коде:   ;
•    в восьмеричном коде   ;
•    в шестнадцатеричном коде -  .
В рассмотренном примере при переводе вместо коэффициента   используется его десятичный эквивалент   в соответствии с таблицей 11.2.
Перевод из двоичной системы в шестнадцатеричную (восьмеричную)
Как уже было сказано выше, шестнадцатеричный и восьмеричный коды используются для более компактной и удобной записи двоичных чисел. Так, программирование в машинных кодах осуществляется в большинстве случаев в шестнадцатеричном коде. Правила перевода для шестнадцатеричной и восьмеричной системы структурно одинаковы, отличия для восьмеричной системы отображаются в скобках.
Двоичная запись числа делится на группы по четыре ( три ) двоичных знака влево и вправо от запятой, отделяющей целые и дробные части Неполные крайние группы (если они есть) дополняются нулями до четырех ( трех ) знаков. Каждая группа заменяется одним шестнадцатеричным ( восьмеричным ) знаком в соответствии с кодом группы (табл. 11.2).
Таблица 11.2. Соответствие двоичных групп, шестнадцатеричных и восьмеричных знаков
Двоичная группа    Шестнадцатеричный знак    Десятичный эквивалент    Двоичная группа    Восьмеричный знак
0000    0    0    000    0
0001    1    1    001    1
0010    2    2    010    2
0011    3    3    011    3
0100    4    4    100    4
0101    5    5    101    5
0110    6    6    110    6
0111    7    7    111    7
1000    8    8        
1001    9    9        
1010    A    10        
1011    B    11        
1100    C    12        
1101    D    13        
1110    E    14        
1111    F    15        
Примеры:
•    перевод в шестнадцатеричную систему:
 
•    перевод в восьмеричную систему:
 
Перевод из шестнадцатеричной (восьмеричной) системы в двоичную
Обычно программы в машинных кодах записаны в шестнадцатеричной системе счисления, реже - в восьмеричной. При необходимости отдельные числа такой программы записываются в двоичном коде, например, при рассмотрении форматов регистров, кодов операции команд и т.п. В этом случае нужен обратный перевод из шестнадцатеричной (восьмеричной) системы счисления в двоичную по следующему правилу.
Каждая цифра (без всяких сокращений!) шестнадцатеричного ( восьмеричного ) числа заменяется одной двоичной группой из четырех ( трех ) двоичных знаков (табл. 11.2).
Примеры:
•    для шестнадцатеричного числа:   ;
•    для восьмеричного числа:  .
Как показано в примерах, крайние нули слева и справа при желании можно не писать, но такое сокращение делается уже после перевода в двоичную систему.
Двоичная арифметика
Правила двоичной арифметики
Двоичное сложение
В простейшем случае, для одноразрядных чисел, правила двоичного сложения имеют вид:
 
При сложении (   ) возникает два случая:
1.    когда входной перенос равен  , получаем  :
 
2.    когда входной перенос равен  , получаем  :
 
Многоразрядные числа складываются по тем же правилам, но при этом учитывается входной перенос в каждом разряде: выходной перенос младшего разряда является входным переносом для соседнего старшего разряда. Рассмотрим несколько примеров сложения многоразрядных чисел.
 
 
Двоичное вычитание
Здесь рассматриваются правила, работающие в случае вычитания меньшего числа из большего. Все остальные случаи рассматриваются ниже в разделе 3.2, посвященном двоичной арифметике со знаками. В простейшем случае, для каждого разряда, правила двоичного вычитания имеют вид:
 
Когда производится вычитание (   ) осуществляется займ из более старшего разряда. Знак вопроса означает, что разряд уменьшаемого изменяется в результате займа по правилу:
При вычитании (0 - 1) в разряде разности получается 1, разряды уменьшаемого, начиная со следующего, изменяются на противоположные (инвертируются) до первой встречной единицы (включительно). После этого производится вычитание из измененных разрядов уменьшаемого.
Рассмотрим несколько примеров вычитания многоразрядных чисел (из большего числа вычитается меньшее).
 
 
Очевидно, что как в десятичном, так и в двоичном коде, складывать значительно проще, чем вычитать. Поэтому большое распространение получила двоичная арифметика с учетом знаков чисел, где вычитание заменяется сложением чисел с учетом их знака. При этом уже не имеет значения соотношение чисел между собой, какое из них больше - вычитаемое или уменьшаемое. Знак разности получается автоматически.
Двоичная арифметика с учетом знаков чисел
Прямой, обратный и дополнительный коды
В двоичном коде знак числа представляет собой разряд, приписываемый слева от значащих разрядов числа. Знак "   " обозначается логическим  , знак "   " - логической  . Для наглядности все примеры будем рассматривать для целых чисел, отделяя знаковый разряд точкой.
Прямой код (ПК) и для отрицательных, и для положительных чисел образуется одинаково, простым дописыванием знакового разряда.
Так, в восьмиразрядном формате

 

Обратный код (ОК) для положительных чисел совпадает с прямым, т.е. к значащим разрядам приписывается знаковый разряд. Для отрицательных чисел значащие разряды инвертируются (нули заменяются на единицы, единицы - на нули), после чего приписывается знак.
Для того же числа обратный код имеет вид:  ,  .
Недостатком обратного кода является то, что одно и то же число   и   записывается по-разному:  ,  , что может вызвать нежелательное разночтение работы логической схемы. Поэтому предпочтительным является дополнительный код.
Дополнительный код (ДК) для положительных чисел совпадает с обратным и прямым, т.е. к значащим разрядам приписывается знаковый разряд. Для отрицательных чисел дополнительный код на 1 больше, чем обратный. После образования значащих разрядов приписывается знаковый разряд.
Для значащих разрядов отрицательного числа справедлива формула:
 
( 11.3)
Напишем число   в 7-разрядном дополнительном коде:
 
Таким образом в дополнительном коде  , следовательно, указанный недостаток обратного кода преодолен.
Рассмотрим образование дополнительного кода для числа 10. Для положительного числа  , а для отрицательного числа   дополнительный ко д получается следующим образом:
 
Для замены вычитания сложением применяется и обратный, и дополнительный коды, при этом в каждом из них действуют свои правила.
Двоичная арифметика в дополнительном коде
При решении во избежание типовых ошибок рекомендуется придерживаться следующей последовательности действий. Допустим, заданы два десятичных числа, тогда необходимо:
1.    перевести десятичные числа в двоичный код;
2.    уравнять форматы полученных двоичных чисел;
3.    если знаки чисел одинаковые, добавить по одному резервному нулю слева от каждого числа во избежание переполнения;
4.    получить дополнительные коды чисел;
5.    приписать знаковые разряды;
6.    сложить полученные коды по правилам двоичного сложения;
7.    перенос из знакового разряда (если он есть) отбросить;
8.    результат получен в дополнительном коде, поэтому для проверки значащих разрядов отрицательного числа необходимо сделать вычисления, противоположные формуле (11.3): сначала вычислить обратный код по формуле  , после чего произвести инверсию полученного числа.
Для наглядности возьмем два десятичных числа, например,   и  , и сделаем все возможные варианты вычислений:
•     .
 
Число положительное, поэтому ОК=ПК, для проверки числа нужно перевести его значащие разряды в десятичный код по (П3-2):  .
•     . Сначала получим дополнительный код отрицательного числа  :
 
Здесь важно уяснить, что крайние левые нули в значащих разрядах сокращать нельзя, поскольку они являются значимыми. Иными словами, все вычисления для каждого примера производятся в неизменном формате, в данном случае в примере (б) - это шесть значащих разрядов, т.е. столько, сколько содержится в большем числе.
 
Вновь получили знак числа и его значащие разряды, занимающие жестко заданные позиции в выбранном формате числа. Поскольку получено отрицательное число, то ДК ПК, для проверки его значащих разрядов нужно сначала вычислить обратный код, затем перевести его в прямой код инверсией -
 
а затем уже перевести его в десятичный код по (П3-2):  .
•      - Сначала получим ДК отрицательного числа  .
 
После этого произведем вычисления:
 
Получено положительное число, поэтому  , для проверки результата нужно только перевести значащие разряды в десятичный код:  .
•      - Сначала получим дополнительный код отрицательных чисел. Для числа   он получается следующим образом:
 
А для числа   -
 
Сложим полученные числа в том же формате:
 
Поскольку число отрицательное,  . Для проверки значащих разрядов числа нужно сначала вычислить обратный код, после чего перевести его в прямой код инверсией -
 
И только после этого полученное число проверяется переводом в десятичный код по (11.2):  .
Ключевые термины
Дополнительный код - запись числа, в которой для отрицательных чисел значащие разряды получаются как увеличенный на 1обратный код модуля числа. Служит для замены вычитания сложением чисел с учётом их знаков.
Обратный код - запись числа, в которой для отрицательных чисел значащие разряды записываются в виде инверсии разрядов модуля числа. Самостоятельного значения не имеет.
Основание системы счисления - это число, равное количеству знаков, которые используются в этой системе для записи чисел.
Позиционная система счисления - в которой вес разряда определяется его позицией в записи числа.
Прямой код - запись числа, в которой к значащим разрядам приписывается знаковый разряд.
Система счисления - совокупность знаков, применяемая для записи чисел.
Принятые сокращения
ДК - дополнительный код.
ОК - обратный код.
ПК - прямой код.
Краткие итоги
При описании работы ЭВМ широко используется двоичная система счисления, поскольку в ней используются два знака для записи чисел. Данный факт хорошо сочетается с тем, что все схемы ЭВМ могут находиться в двух состояниях - состояниях логического нуля и логической единицы. Для двоичных чисел действуют свои правила двоичной арифметики. Основными её операциями являютсясложение и вычитание. Поскольку сложение является более простым и универсальным действием, вычитание заменяется сложением двоичных чисел с учётом их знаков. Знак чисел также обозначается одним двоичным разрядом и все действия над знаковыми разрядами осуществляются по тем же правилам двоичного сложения.
Набор для практики
Вопросы для самопроверки
1.    Напишите формулу (2) для следующих систем счисления:
o    двоичной;
o    троичной;
o    восьмеричной;
o    шестнадцатеричной.
2.    Что такое основание системы счисления?
3.    Почему при описании работы ЭВМ и программировании востребованы двоичная, восьмеричная и шестнадцатеричная системы счисления?
4.    Сколько знаков используется для написания чисел в пятеричной системе счисления?
5.    Как получить прямой код положительного числа?
6.    Как получить прямой код отрицательного числа?
7.    Как получить обратный код положительного числа?
8.    Как получить обратный код отрицательного числа?
9.    Как получить дополнительный код положительного числа?
10.    Как получить дополнительный код отрицательного числа?
11.    Каков недостаток обратного кода?
12.    Каким образом обозначается знак числа?


Похожие материалы

Рахмет ретінде астында тұрған жарнамалардың біреуін басуды сұраймын!

Категория: Аралас | Добавил: Admin
Просмотров: 862 | Загрузок: 0 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]