АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Представление информации в ПЭВМ

Читайте также:
  1. C) в тексте нет информации
  2. C.) При кодировании текстовой информации в кодах ASCII двоичный код каждого символа в памяти ПК занимает
  3. CMS, редактирование информации
  4. А не интенсивность, которая выясняется только спустя некоторое время, после получения информации о последствиях.
  5. Анализ аргументов. Логический анализ информации.
  6. Анализ информации по новостройкам г. Перми
  7. Апелляционное представление
  8. АППАРАТУРА ПЕРВИЧНОЙ ОБРАБОТКИ ИНФОРМАЦИИ
  9. Ассоциации (группировки) для запоминания информации
  10. Балансовый метод отражения информации
  11. БЛОК ИНФОРМАЦИИ
  12. БЛОК ИНФОРМАЦИИ.

 

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

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

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

0000 0001 = 01

0000 0010 = 02

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

1111 1111 = FF

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

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

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

1 Kбайт = 210 байт; 1 Мбайт = 210 Kбайт = 220 байт.

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

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

Основными типами данных в ПЭВМ являются целые и вещественные числа, логические и символьные данные.

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

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

Например, число 310410 = C2016 в формате int имеет вид

0C20 = 0000 1100 0010 0000

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

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

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

Примеры.

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 первый этап указанного преобразования сводится к инвертированию числа, т.е. замене нулей на единицы, а единиц - на нули.

Для числа -310410 в формате integer имеем F3E0. Для числа 5810 = 3A16 получим

5 8: 0 0 3 A

- 5 8: F F C 6

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

Пусть нам требуется выполнить в 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

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

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

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

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

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

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

800016 = 1000 0000 0000 00002

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

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

----------------------

1 1000 0000 0000 0000

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

Результат 800016 = -(215 - 1) - 1 = - 215 = - 32768.

 

2. Вещественные числа (числа с плавающей запятой).

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

Тип float - это двоичное число, занимающее 4 байта памяти. Нумерация разрядов 0, 1, 2,..., 31. Три байта занимает мантисса числа, Один байт - порядок. Нулевой бит отведен для знака числа. Отрицательные числа изображаются в прямом коде.

 

3. Логические данные.

Логические переменные и логические операции относятся к области математики, которая называется алгеброй логики. В алгебре логики рассматриваются высказывания, в отношении которых имеет смысл говорить об их истинности или ложности. Например, "снег белый", "сегодня - пятница", "x > 0", "a + b < z" и т.д. Истинность высказывания может принимать одно из двух значений: 0 (высказывание ложное) или 1 (высказывание истинное). Алгебра логики широко применяется при проектировании и анализе работы устройств ЭВМ, поскольку элементы, входящие в состав этих устройств, являются бинарными (двоичными) и могут находиться лишь в одном из двух возможных состояний, которые обозначаются соответственно 0 и 1. В программировании методы алгебры логики используются при вычислении логических выражений.

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

Отрицание (операция НЕ). Таблица операции:

 

 

Читается: "Не нуль есть единица".

 

б) Логическое умножение (конъюнкция, операция И). Таблица операции:

 

 

Читается: "Нуль и нуль есть нуль".

 

 

в) Логическое сложение (дизъюнкция, операция ИЛИ). Таблица операции:

 

Читается: "Нуль или нуль есть нуль".

 

Логические операции являются битовыми. Если их применяют для полей битов, то эти операции выполняются отдельно для каждой пары бит.

Пример. Пусть мы имеем два поля X и Y длиной 4 байта:

X = F570 1A8B; Y = 37E4 90CD

Здесь шестнадцатеричная запись используется только с целью компактности представления содержимого поля памяти.

Тогда ---

X = 0 A 8 F E 5 7 4

X /\ Y = 3 5 6 0 1 0 8 9

X \/ Y = F 7 F 4 9 A C F

 

4. Символьные данные

Символьные данные имеют тип char (от английского слова character) имеют длину 1 байт и представляют собой символы (буквы, цифры, специальные знаки) из кодовой таблицы ASCII.


1 | 2 | 3 | 4 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.007 сек.)