Файл: Операции, производимые с данными..pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 19.06.2023

Просмотров: 87

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Удаление высшего разряда 1 из двоичного числа 100102 дает 102, а из десятичного 12 — дает 2.

Ответ: 102, 2.

Пример 1.14. Умножить двоичные числа 1102 и 112.

Ответ: 100 1 02.

Операция деления двоичных чисел подобна операции деления десятичных чисел.

Пример 1.15. Разделить число 1102 на 112.

Ответ: 102.

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

3.3. ПРЕДСТАВЛЕНИЕ ЧИСЕЛ В КОМПЬЮТЕРЕ

Числовая информация в памяти компьютера хранится и обрабатывается в двоичном коде.

В компьютерах применяются две формы представления

1 V V V

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

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

Максимальное число соответствует восьми единицам и равно

Следовательно, в однобайтовой ячейке памяти можно записать целое число, изменяющееся в пределах от 0 до 255. Если в ячейке памяти п разрядов, то в ней можно сохранить целое число

Для представления целого числа в компьютере ячейка памяти, называемая машинным словом, содержит 16 разрядов (битов). Причем старший левый разряд отводится для знака (0 соответствует плюсу, а 1 — минусу). Тогда компьютер может оперировать следующим максимальным целым числом: 215 - 1 = 32 767.

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

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

Пр и м е р 1.16. Преобразовать десятичное число 324,52 в экспоненциальную форму.

Здесь мантисса М = 0,32452, порядок Р = 3.

Число в формате с плавающей запятой занимает в памяти компьютера 4 (число обычной точности) или 8 байт (число двойной точности).


4.ПРЕДСТАВЛЕНИЕ ЛОГИЧЕСКИХ ДАННЫХ. ОПЕРАЦИИ ПРОИЗВОДИМЫЕ НАД ЛОГИЧЕСКИМИ ДАННЫМИ

Логические данные (переменные) принимают два значения: Истина или Ложь, 1 или 0 — и обозначаются прописными латинскими буквами A, В, С, D,..., X, У, Z. В компьютере для логической переменной отводится два байта, или 16 разрядов, которые заполняются 1, если она имеет значение Истина, и 0, если значение Ложь.

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

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

Запишем операцию конъюнкции для двух логических переменных А и В:

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

Одна или несколько операций конъюнкции, выполняемых с логическими переменными или их отрицаниями, называется конъюнктором. Его схема приведена на рис. 1.4.

Дизъюнкция — это операция логического сложения, которая имеет значение Ложь только тогда, когда ложны все входящие логические переменные. Операцию дизъюнкции обозначают буквами ИЛИ либо значками v или +.

Операция дизъюнкции с двумя переменными

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

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

Логическое отрицание меняет значение переменной: ложное на истинное и истинное на ложное. Операцию логического отрицания (инверсии) логической переменной А в логике принято обозначать А или —.А. Логическая функция F, являющаяся логическим отрицанием А, имеет вид


Истинность такого высказывания задается таблицей истинности функции логического отрицания (табл. 1.4). Функцию логического отрицания выполняет инвертор, изображенный на рис. 1.6.

Важно подчеркнуть, что все остальные логические функции двух переменных (их всего 16) могут быть выражены через логические функции конъюнкции, дизъюнкции и импликации.

Импликация — это бинарная операция логического следования «если А, то В», которая имеет значение Ложь тогда и только тогда, когда истинна пере

менная А (посылка) и ложна переменная В (вывод). Логическая операция импликации «если А, то В» вы-

V 1 v

ражается логической функцией

и задается соответствующей таблицей истинности (табл. 1.5).

Логическую функцию импликации описывают инвертор и дизъюнктор, изображенные на рис. 1.7. Если построить таблицу истинности логической функции A v B (табл. 1.6), то видно, что она равносильна логической функции импликации, т. е. AvВ = А ^ В.

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

1. Определить количество строк (равно 2% где п — количество переменных).

2. Определить количество столбцов (равно сумме количества переменных и логических операций).

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

Пример 1.17. Построить таблицу истинности и схему логической функции

1. Определяется количество строк:

2. Определяется количество столбцов:

3 логические переменные 44- 3 логические операции = 6.

3. В соответствии с порядком выполнения логических операций заполняется таблица истинности (табл. 1.7).

Логической функции соответствует схема элементов, изображенная на рис. 1.8.

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

1) коммутативность:


2) ассоциативность:

3) отрицание операнда:

4)дистрибутивность:

5) поглощение операнда:

6) отрицание формулы (закон де Моргана):

Пример1.18. Упростить выражение

Последовательность действий такова:

1) применить дважды закон де Моргана к

2) применить закон поглощения операнда к B v ( B a C)=B:

A v B v ( B a C) = A v 5 .

Ответ: F = A v В.

5. ПРЕДСТАВЛЕНИЕ ТЕКСТОВЫХ ДАННЫХ. ОПЕРАЦИИ НАД ТЕКСТОВЫМИ ДАННЫМИ.

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

Так, 1 бит (принимающий значения 0, 1) позволяет закодировать два символа, 2 бита(00,01,10,11) — 4 символа, 3 бита (000,001, 010,100, 011,101,110,111) — 8 символов

и, наконец, п битов — 2п символов. Минимальное количество битов /г, необходимое для кодирования Р символов, определяется из условия

Пример 1.19. Какое минимальное количество битов памяти потребуется для кодирования 33 строчных и прописных букв русского алфавита?

Всего требуется закодировать 66 букв. При Р = 66 минимальное количество битов памяти п> при котором выполняется условие (1.8):

будет равно 7.

Ответ: п = 7.

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

Наиболее распространенный стандарт кодировки символов ASCII-код (американский стандартный код для обмена информацией — англ. American Standart Code for Information Interchange) был введен в США еще в 1963 г. и после модификации в 1977 г. был принят в качестве всемирного стандарта. Каждому символу поставлено в соответствие двоичное число от 0 до 255 (8-битовый двоичный код), например: А — 01000001, В — 01000010, С — 01000011, D — 01000100 и т. д. Символы от 0 до 127 — латинские буквы, цифры и знаки препинания — составляют постоянную (базовую) часть таблицы. Расширенная таблица от 128-го до 255-го символа отводится под национальный стандарт. Таким образом, каждый введенный в компьютер с клавиатуры символ запоминается и хранится на носителе в виде набора из восьми нулей и единиц. При выводе текста на экран или на принтер соответствующие программно-аппаратные средства вывода выполняют обратную перекодировку из цифровой формы в символьную по тем же правилам.


В настоящее время идет внедрение нового стандарта — Unicode. Этот стандарт определяет кодировку каждого

символа не одним байтом, а двумя. Соответственно число одновременно кодируемых символов возрастает с 256 до 65 536. Данный стандарт позволяет закодировать одновременно все известные символы, в том числе японские и китайские иероглифы.

Существуют и национальные стандарты кодировки. Например, в СССР был введен стандарт КОИ-8 (код обмена информацией восьмизначный), который по сеи день используется для кодировки текста.

6. ПРЕДСТАВЛЕНИЕ ГРАФИЧЕСКИХ ДАННЫХ. ОПРЕРАЦИИ ПРОИЗВОДИМЫЕ НАД ГРАФИЧЕСКИМИ ДАННЫМИ.

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

Существуют два принципиально разных подхода к представлению (оцифровке) графических данных: растровый и векторный.

Для оцифровки графических изображений при растровом представлении вся область данных разбивается на множество точечных элементов — пикселей, каждый из которых имеет свой цвет. Совокупность пикселей называется растром, а изображения, которые формируются на основе растра, называются растровыми. Число пикселей по горизонтали и вертикали изображения определяет разрешение изображения. Стандартными являются значения 640x480, 800x600, 1024x768, 1280x1024 и др. Каждый пиксель нумеруется, начиная с нуля, слева на

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

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

вертикали в два раза приводит к увеличению числа пикселей в четыре раза.

При растровом способе представления графических данных под каждый пиксель отводится определенное число битов, называемое битовой глубиной и используемое для кодировки цвета пикселя. Каждому цвету соответствует определенный двоичный код (т. е. код из нулей и единиц). Например, если битовая глубина равна 1, то под каждый пиксель отводится 1 бит. В этом случае 0 соответствует черному цвету, 1 — белому, а изображение может быть только черно-белым. Если битовая глубина равна 2, то каждый пиксель может быть закодирован цветовой гаммой из 4 цветов (22) и т. д. Для качественного представления графических данных в современных компьютерах используются цветовые схемы с битовой глубиной 8(1 байт), 24 (3 байта), 32 (4 байта) и даже 40 (5 байт), т. е. каждый пиксель может иметь 28, 224, 232, 240 оттенков. Вполне естественно, что с увеличением глубины цвета увеличивается объем памяти, необходимой для хранения графических данных. Следовательно, количество цветов N> отображаемых на экране монитора, может быть вычислено по формуле