Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
AVSiKS_Laby / Лабораторная работа 6.doc
Скачиваний:
43
Добавлен:
16.03.2016
Размер:
134.66 Кб
Скачать

Лабораторная работа № 6 Инфологические основы эвм. Системы счисления. Перевод чисел.

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

Теоретические сведения

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

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

  • позиционные;

  • непозиционные.

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

В непозиционной системе счисления цифры не меняют своего количественного значения при изменении их расположения в числе.

Количество (Р) различных цифр, используемых для изображения числа в позиционной системе счисления, называется основанием системы счисления. Значения цифр лежат в пределах от 0 до Р - 1.

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

Нижние индексы определяют местоположение цифры в числе (разряд):

  • положительные значения индексов — для целой части числа разрядов);

  • отрицательные значения — для дробной (s разрядов).

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

Минимальное значащее, не равное 0 число, которое можно записать в s разрядах дробной части:

Имея в целой части числа m, а в дробной — s разрядов, можно записать всего Р т+S разных чисел.

Двоичная система счисления имеет основание Р = 2 и использует для представления информации всего две цифры: 0 и 1. Существуют правила перевода чисел из одной системы счисления в другую, основанные в том числе и на соотношении (1). Например, двоичное число 101111,101 равно десятичному числу 47,625.

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

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

При переводе смешанного числа следует переводить его целую и дробную части отдельно.

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

  2. Для перевода дробной части числа его, а затем дробные части получающихся произведений следует последовательно умножать на основание Р до тех пор, пока очередная дробная часть произведения не окажется равной 0 или не будет достигнута нужная разрядность дробной части числа. Целые части произведений, записанные после запятой последовательно слева направо, образуют дробную часть числа в системе счисления с основанием Р.

Рассмотрим перевод смешанного числа из десятичной в двоичную систему счисления на примере числа 47,625. Переводим целую часть числа:

47:2 = 23 (остаток 1)

23: 2 = 11 (остаток 1)

11:2 = 5 (остаток 1)

5:2 = 2 (остаток 1)

2:2 = 1 (остаток 0)

1:2 = 0 (остаток 1)

Записываем остатки последовательно снизу вверх - 101111, то есть 4710 = 101111

Переводим дробную часть числа:

0,625 • 2 =l,250

0,250 • 2 = 0,500

0,500 • 2 = 1,000.

Записываем целые части получающихся Произведений после запятой последовательно слева направо — 0,101, то есть 0,625 — 0,1012.

Окончательно 47,62510 = 101111,1012.

Представление чисел с фиксированной и плавающей запятой. В вычислительных машинах применяются две формы представления двоичных чисел:

  • естественная форма или форма с фиксированной запятой (точкой);

  • нормальная форма или форма с плавающей запятой (точкой).

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

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

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

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

где М — мантисса числа (/М/ < 1); rпорядок числа (r — целое число); Р — основание системы счисления.

Нормальная форма представления является основной в современных компьютерах. Так, диапазон значащих чисел в системе счисления с основанием Р при наличии т разрядов у мантиссы и s разрядов у порядка (без учета знаковых разрядов порядка и мантиссы) будет:

Пример. При Р = 2, m = 22 и s = 10 диапазон чисел простирается примерно от 10-300 до 10300. Для сравнения: количество секунд, которые прошли с момента образования планеты Земля, составляет всего 1018.

Следует заметить, что все числа с плавающей запятой хранятся в машине в так называемом нормализованном виде; Нормализованным называют такое число, в старшем разряде мантиссы которого стоит единица. У нормализованных двоичных чисел, следовательно, 0,5 <= \М\ < 1.

Прочие системы счисления. Кроме рассмотренных выше систем счисления, применяемых внутри компьютера, пользователи часто используют при работе с компьютерами также двоично-десятичную и шестнадцатеричную системы:

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

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

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

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

При программировании иногда используется шестнадцатеричная система счисления, перевод чисел из которой в двоичную систему счисления весьма прост — выполняется поразрядно (полностью аналогично переводу из двоично-десятичной системы). Для изображения цифр, больших 9, в шестнадцатеричной системе счисления применяются буквы А = 10, В = 11, С = 12, D = 13, Е = 14, F = 15.

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

Например:

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

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

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

Особенности представления информации в ПК. Числовая информация внутри ПК кодируется в двоичной или в двоично-десятичной системах счисления; при вводе и выводе любой информации в ПК используются специальные коды представления информации ( ASCII коды ).

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

1 – Бит;

8 – Байт;

16 – Параграф;

- Кбайт (килобайт);

- Мбайт (мегабайт);

- Гбайт (гигабайт);

- Тбайт (терабайт);

- Пбайт (петабайт).

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

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

Поля постоянной длины:

  • слово —2 байт;

  • двойное слово — 4 байт;

  • полуслово — 1 байт;

  • расширенное слово — 8 байт.

Числа с фиксированной запятой чаще всего имеют формат слова и полуслова; числа с плавающей запятой — формат двойного и расширенного слова.

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

Структурно запись двоичного числа -11000001 2, равного десятичному -19310, в разрядной сетке ПК выглядят следующим образом :

Разряд

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Число

1

0

0

0

0

0

0

0

1

1

0

0

0

0

0

1

Знак

числа

Абсолютная величина числа

Рис.1 Число с фиксированной запятой формата слово со знаком.

Разряд

3

1

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

1

0

Число

1

0

0

0

1

0

0

0

1

1

0

0

0

0

0

1

0

0

0

Знак

числа

Порядок

Мантисса

Рис.2 Число с плавающей запятой формата двойное слово

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

В упакованном формате для каждой десятичной цифры отводится по четыре двоичных разряда (полбайта), при этом знак числа кодируется в крайнем правом полубайте числа (1100 — знак «+» и 1101 — знак «-»).

ЦФ

ЦФ

ЦФ

ЦФ

ЦФ

ЗНАК

Рис.3 Структура поля упакованного формата

Цф — Цифра,

Знак — Знак числа.

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

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

Зона

ЦФ

Зона

ЦФ

Зона

ЦФ

Знак

ЦФ

Рис.4 Структура поля распакованного формата

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

Например, число -19310 = -0001100100112-10 в ПК будет представлено:

в упакованном формате:

0001 1001 0011 1101

в распакованном формате:

0011 0001 0011 1001 1101 0011.

Код ASCII (American Standard Code for Information Interchange) — американский стандартный код для обмена информацией) имеет основной стандарт и расширение. Основной стандарт для кодирования символов использует шестнадцатеричные коды 00-7F, расширение стандарта — коды 80-FF.

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

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