Меню
Главная
Авторизация/Регистрация
 
Главная arrow Информатика arrow Информатика 2015

2. Арифметические и логические основы работы ЭВМ

2.1. Системы счислении

Единица — вздор, единица — ноль.

В. Маяковский

Все фантастические возможности вычислительной техники (ВТ) реализуются путем создания разнообразных комбинаций сиг налов высокого и низкого уровней, которые условились называть «единицами» и «нулями». Поэтому мы, в отличие от поэта В. Маяковского, не склонны недооценивать роль единицы, как, впрочем, и нуля. Особенно если речь идет о двоичной системе счисления.

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

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

Десятичная СС является позиционной. На рисунке слева значение цифры 9 изменяется в зависимости от ее положения в числе. Первая слева девятка делает вклад в общее значение десятичного числа 900 единиц, вторая — 90, а третья — 9единиц.

Римская СС является непозиционной. Значение цифры X в числе XXI остается неизменным при вариации ее положения в числе.

Количество различных цифр, употребляемых в позиционной СС, называется основанием СС. В десятичной СС используется десять цифр: 0, 1, 2, ..., 9; в двоичной СС — две цифры: 0 и 1; в восьмеричной СС — восемь цифр: 0, 1, 2, ..., 7. В СС с основанием Q используются цифры от 0 до Q - 1.

В общем случае в позиционной СС с основанием Q любое число х может быть представлено в виде полинома:

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

Принято представлять числа в виде последовательности входящих в полином соответствующих цифр (коэффициентов):

Запятая отделяет целую часть числа от дробной части. В ВТ чаще всего для отделения целой части числа от дробной части используют точку. Позиции цифр, отсчитываемые от точки, называют разрядами. В позиционной СС вес каждого разряда отличается от веса (вклада) соседнего разряда в число раз, равное основанию СС. В десятичной СС цифры 1-го справа разряда — единицы, 2-го — десятки, 3-го — согни и т. д.

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

Чаще всего скобки опускают и оставляют только индекс:

Есть еще один способ обозначения СС: при помощи латинских букв, добавляемых после числа. Напоимеп.

Установлено, что, чем больше основание СС, тем компактнее запись числа. Так двоичное изображение числа требует примерно в 3,3 раза большего количества цифр, чем его десятичное представление.

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

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

Заметим, что отечественная ЭВМ «Сетунь» (автор — Н.П. Брусенцов) работала с использованием троичной системы счисления.

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

Задача перевода из одной системы счисления в другую часто встречается при программировании и особенно часто при программировании на языке Ассемблера. Например, при определении адреса ячейки памяти, для получения двоичного или шестнадцатеричного эквивалента десятичного числа. Отдельные стандартные процедуры языков программирования Паскаль, Бейсик, HTML и Си требуют задания параметров в шестнадцатеричной системе счисления. Для непосредственного редактирования данных, записанных на жесткий диск, также необходимо умение работать с шестнадцатеричными числами. Отыскать неисправность в ЭВМ практически невозможно без представлений о двоичной системе счисления. Без знания двоичной СС невозможно понять принципы архивации, криптографии и стеганографии. Без знания двоичной СС и булевой алгебры нельзя представить, как происходит слияние объектов в векторных графических редакторах.

В табл. 1 приведены некоторые числа, представленные в различных СС.

Таблица 1

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

Десятичная

Двоичная

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

Шестнадцатерич.

0

0

0

0

1

1

1

1

2

10

2

2

3

И

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

А

11

1011

13

В

12

1100

14

С

13

1101

15

D

14

1110

16

Е

15

1111

17

F

16

10000

20

10

17

10001

21

И

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

Для перевода целого числа из S-системы счисления в W-систему счисления нужно последовательно делить это число, а затем получаемые частные на основание W новой СС до тех пор, пока частное не станет меньше W.

Пример L Перевести целое десятичное число 37D в двоичную СС: Решение.

Результат перевода: (37)10 =(100101)2.

При переводе наиболее частой ошибкой является неверная запись результата. Запись двоичного числа следует начинать со старшего значащего разряда (СЗР), а заканчивать записью младшего значащего разряда (МЗР). Следует помнить, что при делении первым получается значение МЗР.

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

п

степень

6

5

4

3

2

1

0

-1

-2

-3

2"

64

32

16

8

4

2

1

0.5

0.25

0.125

Пример 2.

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

Решение.

п

степень

6

5

4

3

2

1

0

-1

-2

-3

2"

64

32

16

8

4

2

1

0.5

0.25

0.125

а,

1

0

1

0

1

1

1

1

0

1

Для перевода нужно выбрать из таблицы числа, которые в сумме дадут переводимое число. Коэффициенты перед этими слагаемыми в полиноме принимаются равными единице. Остальные коэффициенты считаются рав- ными нулю. _________

  • 87.625 =64+164844+2+1-Ю.5-Ю.125 Двоичное число запишется в виде:
  • 1010111.101В

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

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

Пример 3. Перевести правильную десятичную дробь 0.1875D в двоичную СС.

Решение.

Запишем результат перевода: 0.1875D =0.0011В.

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

Примечание.

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

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

Пример 4 Перевести десятичное число 9.625D в двоичную СС.

Решение.

Вначале переведем целую часть десятичного числа в двоичную СС: Затем переведем правильную дробь:

Окончательный ответ: 9.625D =1001.101В.

Пример 5. Перевести десятичное число 164D в восьмеричную СС Решение.

Результат перевода: (164)10 =(244)а

Рассмотрим правило перехода из восьмеричной СС в двоичную СС.

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

Пример 6 Перевести число 305.4Q из восьмеричной СС в двоичную СС.

Решение.

Отмеченные символами «Т» нули следует отбросить. Заметим, что двоичные числа взяты из табл. 1.

Еще одно правило перевода чисел:

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

Пример 7. Перевести число 7Б2.ЕНиз шестнадцатеричной СС в двоичную СС.

Решение.

Отмеченные крайние нули следует отбросить.

Рассмотрим ещё одно правило:

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

Пример 8, Перевести число 111001100.001В из двоичной СС в восьмеричную СС.

Решение.

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

Решение.

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

Пример 10. Перевести число 11011.11В из двоичной СС в десятичную СС.

Решение.

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

Пример 11. Перевести шестнадцатеричное число 2Е5АН в десятичную СС.

Решение.

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

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ ОРИГИНАЛ   След >
 

Популярные страницы