русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

П Р Е Д С Т А В Л Е Н И Е И Н Ф О Р М А Ц И И В П Э В М


Дата добавления: 2014-11-27; просмотров: 691; Нарушение авторских прав


 

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

В ПЭВМ, как и во многих машинах другого типа, минимальной единицей обрабатываемой информации является байт (byte). Байт состоит из 8 двоичных разрядов, или бит (bit, от слов BInary digiT - двоичная цифра). Биты нумеруются 0, 1, 2, 3, 4, 5, 6, 7. Биты 0..3 и 4..7 образуют два полубайта - левый и правый, представляемые как двоичные тетрады. При записи содержимого байта каждый полубайт обозначают одной шестнадцатеричной цифрой.

 

Возможные значения байта:

0000 0000 = 00

0000 0001 = 01

0000 0010 = 02

................

1111 1111 = FF16 = 25510.

Следовательно, байт может принимать 256 различных значений.

 

Соответствие между кодовыми комбинациями байта и символами, реализуемыми на ПЭВМ, отображается в кодовой таблице ASCII. В этой таблице представлены латинские и русские буквы, цифры, знаки операций и др. Например, цифре 6 соответствует кодовая комбинация 00110110 ( ), букве K - код 01001011 (4B16) и т.д.

 

Каждый байт в памяти ЭВМ имеет свой номер (адрес). Адреса изменяются последовательно от 0 до некоторого максимального значения, определяемого объемом памяти ЭВМ. Объем памяти измеряют в килобайтах, мегабайтах, гигабайтах.



1 Kбайт = байт = 1024 байта;

1 Мбайт = Kбайт = байт;

1 Гбайт = Мбайт = байт.

Для ПЭВМ, имеющей объем памяти 1 Мбайт, максимальный адрес равен FFFFF (FFFFF = 100000 - 1 = - 1 = - 1).

 

Байты могут обрабатываться каждый отдельно или полями. Поле - это группа последовательных байтов. Длина поля равна количеству содержащихся в нем байтов. Адресом поля является адрес его крайнего левого байта. Некоторые поля имеют отдельные наименования: слово (поле длиной 2 байта), двойное слово (поле длиной 4 байта).

Все, что обрабатывает ЭВМ, обобщенно называют данными. К ним, в частности, относятся целые и вещественные числа, а также так называемые логические данные.

 

1. Целые числа (числа с фиксированной запятой).

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

Для чисел типа integer отводится поле длиной 2 байта. Биты этого поля нумеруются в последовательности 0, 1, ... , 15. Нулевой бит, т.е. бит с нулевым порядковым номером содержит знак числа ("0" - это знак "+", "1" - знак "-").

Например, число 3104 = C20 в формате integer имеет вид

0C20 = 0000 1100 0010 0000

Здесь 16 c/c используется для компактного изображения двоичного числа.

 

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

 

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

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

 

Пример 1.

10 c/c 16 c/c 2 c/c

1 0 0 0 0 1 0 0 0 0 1 0 0 0 0

- 2 8 9 3 - A 5 4 C - 1 0 1 0

¾¾¾¾ ¾¾¾¾ ¾¾¾¾

8 1 0 7 5 A B 4 0 1 1 0

 

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

Для 10 c/c максимальная цифра - это 9, для 16 c/c - F, для 2 c/c - 1. Отметим, что для 2 c/c первый этап указанного преобразования сводится к инвертированию числа, т.е. замене нулей на единицы, а единиц - на нули.

Для числа -3104 в формате integer имеем F3E0. Для числа -58 = -003A получим FFC6.

 

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

 

Пример 2. Пусть нам требуется выполнить в 10 c/c операцию

 

6 5 8 6 1

- 4 8 2 7 3

¾¾¾¾¾

1 7 5 8 8

 

Вместо вычитания числа 48273 выполним сложение с его дополнительным кодом:

 

6 5 8 6 1

+ 5 1 7 2 7

¾¾¾¾¾

| 1|1 7 5 8 8

 

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

Использование дополнительного кода позволяет отказаться от установки в процессоре блока вычитания, что упрощает его конструкцию.

 

Максимальное значение числа формата integer:

= 0111 1111 1111 1111 = 1000 0000 0000 0000 - 1 = - 1 = 32767

Минимальное значение определяется кодом 1000 0000 0000 0000, которому соответствует число -32768.

 

Рассмотрим формирование отрицательного минимума для формата integer.

8000 = 1000 0000 0000 00002

1111 1111 1111 1111 - доп.код числа -1

+ 1000 0000 0000 0001 - доп.код числа -111 1111 1111 1111 = - ( - 1)

¾¾¾¾¾¾¾¾¾¾

1 1000 0000 0000 0000

Единица переноса из старших складываемых разрядов отбрасывается.

Результат: 8000 = - ( - 1) - 1 = - = - 32768 .

 

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

 

Пример 3 (для 16 с/с):

исходное число - 5B9538B6

дополнительный код A46AC74A

дополнительный код дополнительного кода - 5B9538B6

 



<== предыдущая лекция | следующая лекция ==>
И П Л А В А Ю Щ Е Й З А П Я Т О Й | Вещественные числа (числа с плавающей запятой).


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.071 сек.