Скачиваний:
23
Добавлен:
11.05.2015
Размер:
998.91 Кб
Скачать

2.2. Типы данных

2.2.1. Типы данных, используемых в эвм

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

Возможные типы данных для многих языков представлены на рис 2.1.

На первом уровне декомпозиции по типу использования в программе можно выделить константы, переменные, метки.

2.2.2. Константы

Константа — это величина, которая не меняет своего значения при выполнении программы, т.е. структура, значение которой зафиксировано:

  • 15 — целое число, т.е. число, обозначенное символом 15, всегда будет иметь значение 15;

  • 17.5 (17,5)— вещественное число;

  • А — символ А;

  • АВС — набор символов.

Рис 2.1

Переменная — это величина, обращение к которой производится по имени. В машине для данного имени выделяется ячейка памяти. Содержимое ячейки можно изменять, следовательно, имя (ему соответствует некоторый адрес в ОЗУ) содержит переменное наполнение.

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

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

<имя> = <буква> [ <буква> | <цифра> |<имя>]

Здесь в угловых скобках < > содержится понятие, скобки [ ] означают необязательную конструкцию. Символ | соответствует операции «или». Буква определяется так:

<буква> = A | B | C...Z | . | $ | &

Правильные имена:

А, B2, B104, MACRO, ADD.

Константы и переменные могут быть цифровыми, символьными и логическими.

Размер слова в рассматриваемой машине - 16 двоичных разрядов и состоит из двух байт (рис. 2.2).

15

14

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Старший байт Младший байт

Рис. 2.2

2.2.3. Логические величины

Логические (Булевы) величины в математике имеют два значения: истина (1) и ложь (0). Допустимые операции над ними производятся в рамках Булевой алгебры. В языках высокого уровня логические величины описываются словами True и False. В языках низкого уровня операции над логическими величинами производятся поразрядно.

Широко используются логические операцииИ (& или /\ ), ИЛИ ( | или \/ ), НЕ (), Исключающее ИЛИ (). Рассмотрим таблицы истинности для этих операций. Обозначим через X первый операнд, Y — второй, а Z — результат операции.

Рассмотрим физический смысл логических операций на простых примерах. Операция ИЛИ. Пусть два студента выполняют лабораторные работы по изучению Ассемблера. Если на занятия не пришел ни один студент, то лабораторная работа не будет выполнена: 0 | 0 = 0. Если пришел первый студент или второй, или же оба студента вместе, то работа будет выполнена:

(0 | 1) = (1 | 0) = (1 | 1) = 1.

Операция И. Идет сдача зачета. Нет и первого студента и второго, зачет не сдан: 0 & 0 = 0. Преподаватель примет зачет по лабораторной работе, только если пришли и первый студент и второй: 1 & 1= 1& 1= 1.

Операция Исключающее ИЛИ. В магазине две девушки-продавщицы. Ни одна из них не пришла на работу — магазин закрыт: 0  0 = 0. Пришла любая из них и открыла магазин: 0  1 = 1, или 1  0 = 1. Пришли обе, закрыли магазин и пошли пить кофе: 1  1 = 0.

Операция НЕ или инверсия. Изменяет истину на ложь и обратно: «джигит» видит красный свет перед перекрестком и мчится, не останавливаясь, но тормозит на зеленый свет светофора.

Соседние файлы в папке Введение в вычислительную технику.