Вычислительная техника и информационные технологии    

Глава 1

назад | оглавление | вперёд

 

1. Арифметические основы электронно-вычислительных устройств

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

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

Система счисления (Ссч) – это совокупность правил записи чисел цифровыми знаками. Они бывают позиционными и непозиционными (например, римская Ссч).

В вычислительной технике используются только позиционные системы счисления.

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

,

где ai, bi – цифры данной системы счисления.

Или в виде формулы разложения

 

,

где p – основание системы счисления (количество различных цифр в данной Ссч),

pi – вес единицы данного разряда.

В ЭВУ (электронно-вычислительных устройствах) используется системы счисления с основанием p = 10, 2, 8, 16.

Десятичная Ссч.

p=10. Разрешённые цифры (0,1,2,3,4,5,6,7,8,9). Число можно представить так:

Веса соседних разрядов влево и вправо от запятой различаются в десять раз (р = 10)

1000  100  10  1  ,  1/10  1/100  1/1000 …

Двоичная Ссч.

p=2. Разрешённые цифры (0,1). Число представляется так:

А2 = 101.1012 = 1*22+0*21+1*20+1*2-1+0*2-2+1*2-3=5.62510

Веса соседних разрядов влево и вправо от запятой различаются в два раза (р = 2)

32  16   8   4   2   1,  1/2   1/4   1/8 …

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

p=8. Разрешённые цифры (0,1,2,3,4,5,6,7). Число представляется так:

Веса соседних разрядов влево и вправо от запятой различаются в восемь раз (р = 8)

4096   512   64   8   1 ,  1/8   1/64   1/512  ...

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

p=16. Разрешённые цифры (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F). Число представляется так:

Веса соседних разрядов влево и вправо от запятой различаются в шестнадцать раз (р = 16)

4096   256   16   1,  1/16   1/256  1/4096 ...

Десятичная

Двоичная

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

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

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

100

10

Таблица 1.1 - Перевод из одной системы счисления в другую

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

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

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

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

Например, перевод из десятичной системы в двоичную:

Возьмём число А  = 124.

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

Аналогично переходим 1016:

А = 12410 = 7С16.

Перевод 82 также выполняем делением:

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

 

 

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

Перевод 162  выполняют с помощью тетрад:

Перевод из двоичной системы счисления в 8-ую и 16-ую и обратно выполняется также:

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

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

Перевод 102:

2

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

Одинаковая точность – одинаковые веса младших разрядов чисел.

,

где P и Q - основания старой и новой Ссч.

Для 0.35 вес младшего разряда: 10-2 = 1/ 100 = 0.01.

Для 0.01011 вес младшего разряда: 2-5 = 1/ 32  0.03.

Берем логарифм:

,

откуда находим

.

Тогда при

получаем

Если, то в новой Ссч  число разрядов равно

,

а при,

.

Для восьмеричной и шестнадцатеричной Ссч  имеем:

,

.

Из 10-й в 8-ую Ссч переходим по тому же правилу:

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

1.3 Арифметические операции в различных системах счисления

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

Двоичная Ссч.

0+0=0

0*0=0

0+1=1

0*1=0

1+0=1

1*0=0

1+1=10

1*1=1

Таблица 1.2 - Таблицы сложения и умножения

Возьмём два десятичных числа и выполним сложение, вычитание и умножение:

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

+

1

2

3

4

5

6

7

1

2

3

4

5

6

7

10

2

3

4

5

6

7

10

11

3

4

5

6

7

10

11

12

4

5

6

7

10

11

12

13

5

6

7

10

11

12

13

14

6

7

10

11

12

13

14

15

7

10

11

12

13

14

15

16

Таблица 1.3 – Таблица сложения

*

1

2

3

4

5

6

7

1

1

2

3

4

5

6

7

2

2

4

6

10

12

14

16

3

3

6

11

14

17

22

25

4

4

10

14

20

24

30

34

5

5

12

17

24

31

36

43

6

6

14

22

30

36

44

52

7

7

16

25

34

43

52

61

Таблица 1.4 – Таблица умножения

Выполним сложение, вычитание и умножение этих же чисел:

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

Теперь в  Ссч с основанием

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

1.4 Формы представления чисел

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

1 байт = 8 бит

1к = 210  бит  = 1024 бит (“кило”)

1м =210  к  = 1024 к    (“мега”)

Наряду с этим используются более крупные единицы - слово, полуслово, двойное слово (слово может быть 1, 2, 4, 8 или др. число байт).

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

Форма с фиксированной запятой

Имеются две разновидности: знаковые и беззнаковые числа (рис. 1.1).

Рисунок 1.1 - Форматы целых чисел

Минимальное число, которое может быть представлено в этом формате: 0 и 1.

Максимальное число равно

 - со знаком.

Без знака .

Форма с плавающей запятой.

Число представляют в виде

,

где            m – мантисса числа – правильная дробь,

p - основание Ссч,

q - порядок числа.

Если мантисса находится в пределах , то говорят число нормализовано.

- нормализованное.

- ненормализованное.

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

Классический формат числа с плавающей запятой представлен на рисунке 1.2.

Рисунок 1.2 - Формат с плавающей запятой

Максимальное число, которое может быть записано в этом формате

так, как , откуда .

Минимальное нормализованное число

.

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

Рисунок 1.3 - Диапазон чисел формата с плавающей запятой

Существует большое количество различных форматов с плавающей запятой. Это осложняет перевод программ с одной машины на другую, поэтому в 1985г. был принят международный стандарт IEEE-754, который оговаривает четыре формата с плавающей запятой.

Базовый одинарный формат

Слово длинной четыре байта в котором используется смещённый порядок (характеристика) числа (рис. 1.4).

Рисунок 1.4 - Базовый одинарный формат с плавающей запятой

Запятые для характеристики и мантиссы фиксированы. Характеристика – целое число без знака, для неё запятая расположена после младшего разряда. Для мантиссы запятая расположена перед старшим разрядом.

X = 128 + q – смещённый порядок (2n – 1 = 255 - максимальное число в восьми битах).

Характеристика числа всегда положительна:

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

Поэтому диапазон чисел .

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

Базовый двойной формат.

Здесь слово длиной восемь байт (рис. 1.5). Смещение порядка составляет 1024.

Рисунок 1.5 - Базовый двойной формат

Характеристика Х = 1024 + q. Порядок может находиться в пределах  - 1024  q  1023.

Диапазон чисел следующий:

В базовых форматах значение характеристики равное нулю соответствует нулевому числу, а значение характеристики равное максимуму соответствует бесконечности.

Мантисса длинной 24 бита соответствует точности представления 6 – 7 десятичных цифр. Мантисса длинной  52 бита соответствует точности представления 16 – 17 десятичных цифр.