Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
GOSY / 3 блок-все.pdf
Скачиваний:
39
Добавлен:
09.05.2015
Размер:
622.15 Кб
Скачать

50. Представление информации в ЭВМ. Арифметические и логические основы ЭВМ.

Логическая операция - операция над числами (обычно в двоичной системе счисления), выполняемая по правилам алгебры логики. Основные и наиболее распространенные логические операции, реализуемые в ЭВМ, - дизъюнкция, конъюнкция, отрицание; при составлении программ для ЭВМ более сложные логические операции обычно сводят к трем основным.

Опр. (Булева функция). Булевой функцией от n аргументов называется функция f из n-ой степени множества { 0, 1 } в множество { 0, 1 }.

Логическое высказывание – это любое повествовательное предложение, в отношении которого можно однозначно сказать, истинно оно или ложно. Высказывательная форма

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

Вопросительные и восклицательные предложения также не являются высказываниями Логические операции НЕ отрицание

А истинно, когда А ложно и ложно, когда А истинно. И конъюнкция или логическое умножение

Высказывание А • В истинно тогда и только тогда, когда оба высказывания А и В истинны.

ИЛИ дизъюнкция или логическое сложение Высказывание А + В ложно тогда и только тогда, когда оба высказывания А и В ложны.

ЕСЛИ-ТО импликация Высказывание А → В ложно тогда и только тогда, когда

А истинно, а В ложно.

РАВНОСИЛЬНО эквиваленция или двойная импликация

1

Высказывание А ↔ В истинно тогда и только тогда, когда значения А и В совпадают.

Логический элемент компьютера — это часть электронной логической схемы, которая реализует элементарную логическую функцию.

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

Иначе говоря, булева функция – это функция, и аргументы и значение которой принадлежит множеству { 0, 1 }. Множество { 0, 1 } мы будем в дальнейшем обозначать через B.

Булеву функцию от n аргументов можно рассматривать как n-местную алгебраическую операцию на множестве B. При этом алгебра <B; >, где – множество всевозможных булевых функций, называется алгеброй логики.

Конечность области определения функции имеет важное преимущество – такие функции можно задавать перечислением значений при различных значениях аргументов. Для того, чтобы задать значение функции от n переменных, надо определить значения для каждого из 2n наборов. Эти значения записывают в таблицу в порядке соответствующих двоичных чисел. В результате получается таблица следующего вида:

Раз у нас есть стандартный порядок записывания наборов, то для того, чтобы задать функцию, нам достаточно выписать значения f(0,0,...,0,0), f(0,0,...,0,1), f(0,0,...,1,0), f(0,0,...,1,1),..., f(1,1,...,0,0), f(1,1,...,0,1), f(1,1,...,1,0), f(1,1,...,1,1). Этот набор называют вектором значений функции.

2

Таким образом, различных функций n переменных столько, сколько различных двоичных наборов длины 2n*. А их 2 в степени 2n.

Множество B содержит два элемента – их можно рассматривать как булевы функции от нуля (пустого множества) переменных – константу 0 и константу 1.

Функций от одной переменной четыре: это константа 0, константа 1, тождественная функция, т.е. функция, значение которой совпадает с аргументом и так называемая функция ``отрицание''. Отрицание будем обозначать символом ¬ как унарную операцию. Приведём таблицы этих четырёх функций:

Как видим, функции от некоторого числа переменных можно рассматривать как функции от большего числа переменных. При этом значения функции не меняется при изменении этих ``добавочных'' переменных. Такие переменные называются фиктивными, в отличие от остальных – существенных. Определение 2 (Фиктивные и существенные переменные). Переменная xi называется фиктивной (несущественной) переменной функции f(x1,···,xn), если

f(x1,···,xi-1,0,xi+1,···,xn) = f(x1,···,xi-1,1,xi+1,···,xn)

для любых значений x1,···,xi-1,xi+1,···,xn. Иначе переменная xi

называется существенной.

Эти функции записываются как бинарные операции в инфиксной нотации. x1 & x2 называется конъюнкцией, x1 x2

дизъюнкцией, x1 x2 импликацией, x1 x2 эквивалентностью, x1 x2 суммой по модулю 2, x1 | x2

штрихом Шеффера.

Значения 0 и 1 часто интерпретируют как ``ложь'' и ``истину''. Тогда понятным становится название функции ``отрицание'' – она меняет ``ложь'' на ``истину'', а ``истину'' на ``ложь''. Отрицание читается как ``не''. Конъюнкция читается обычно как ``и'' – действительно, конъюнкция

3

равна 1 тогда и только тогда, когда равны 1 и первая и вторая переменная.* Кроме x1& x2 часто используют обозначение x1 x2 или x1 · x2 или x1x2 или min(x1,x2). Дизъюнкция читается ``или'' – дизъюнкция равна 1 тогда и только тогда, когда равны 1 первая или вторая переменная.* Импликация выражает факт, что из x1 следует x2.* Импликацию часто также обозначают x1 x2.

Логические элементы Логический элемент - простейшая структурная единица

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

В основе всех действий произведенных компьютером лежат логические выводы основанные на Булевской логике. С появлением транзисторов началось второе поколение ПК и далее на этой основе развивались следующие поколения.

Логический элемент И-НЕ Любое электронное устройство независимо от назначения и

степени сложности состоит из активных (транзисторы, интегральные микросхемы) и пассивных (резисторы, конденсаторы, дроссели) компонентов.

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

Пример 4.2.

101110,101(2) =1*25+0*24+1*23+l*22+1*21+0*20+l*2-1+0*2- 2+l*2-3=46,625(10) ,

4

т.е. двоичное число 101110,101 равно десятичному числу 46,625.

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

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

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

Сфиксированной запятой все числа изображаются в виде

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

+00721,35500; +00000,00328; -10301,20260.

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

Пример 4.4. Диапазон значащих чисел (N) в системе счисления с основанием Р при наличии m разрядов в целой части и s разрядов в дробной части числа (без учета знака числа) будет:

Р-s ≤ N ≤ Рm- P-s.

При Р=2, m=10 и s = 6: 0,015≤ N≤ 1024.

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

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

5

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

N=±MP±r,

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

Пример 4.5. Приведенные в примере 4.3 числа в нормальной форме запишутся так:

+0,721355*103; +0,328* 10-3; -0,103012026*105.

Нормальная форма представления имеет огромный диапазон отображения чисел и является основной в современных ЭВМ.

Знак числа обычно кодируется двоичной цифрой, при этом код0 означает знак "+", код 1 -знак "-".

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

При программировании иногда используется

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

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

Пример 4.8. Шестнадцатеричное число F17B в двоичной системе выглядит так:

6

1111000101111011.

Представление информации в ЭВМ Системы счисления и формы представления чисел

Информация в ЭВМ кодируется, как правило, в двоичной или в двоично-десятичной системе счисления.

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

Взависимости от способа изображения чисел системы счисления делятся на позиционные и непозиционные.

Впозиционной системе счисления количественное

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

am-1Pm-1+am-2Pm-2+...+a1P1+a0PO+a-1P-1+a-2P-2+...+a-sP-s, (1)

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

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

отрицательные значения - для дробной (s разрядов). Представление чисел с плавающей точкой.

Представление чисел с плавающей точкой в общем случае

имеет вид

X = <знак>M*pt,

где М – мантисса числа Х, t – порядок, p – основание ( обычно целая степень числа 2). Мантисса и порядок представляются в системе счисления с основанием p. Знак

7

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

ФОРМЫ ЗАПИСИ ЧИСЕЛ В ЭВМ. ПРЯМОЙ, ОБРАТНЫЙ И ДОПОЛНИТЕЛЬНЫЙ КОДЫ

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

Сцелью упрощения реализации арифметических операций

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

двоичного числа в виде: Xпр= *an-1*an-2*…*a1*a0, где - знаковый разряд; ai- двоичные разряды числа.

Обратный код используется для представления отрицательных чисел путём постановки в знаковый разряд единицы и замены во всех других разрядах числа единиц нулями, а нулей единицами. Например, число X=-11011001 в обратном коде будет иметь вид Xобр=100100110.

Дополнительный код числа получают из обратного путём привлечения единицы к младшему разряду. Например, для числа X=-10100101: Xобр=101011010; Xдоп=101011011.

Обратный и дополнительный коды положительного числа совпадают с представлением самого числа.

8

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

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

Вобщем виде любое число А может быть представлено в виде A=m*Np, где m- мантисса числа, N- основание системы счисления; P- порядок числа, указывающий положение точки в изображении числа.

Всякое число, меньшее по абсолютной величине положительного минимального числа, представленного в соответствующем формате,будет в памяти записано в виде нуля. Для данного формата это так называемый "машинный нуль". Кроме того, числа, получающиеся в результате вычислений, не должны превышать по абсолютной величине максимального числа, представленного в соответствующем формате. старшие биты числа будут потеряны, а результат вычислений искажён. Такая ситуация называется переполнением разрядной сетки, а сами числа – "машинной бесконечностью".

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

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

9

на 1, при сдвиге на один бит влево уменьшая его, при сдвиге вправо увеличивая.

Представим число -18.2 с плавающей точкой: двоичное представление числа: -10010.001100110011. Нормализованное представление числа: -1.0010001100110011…2100. Переходим от порядка к характеристике: 4+127=131=100000112.

В 16 с/с это число записывается так: С191999.

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

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

Для того, чтобы тексты переносились с одного компьютера на другой были установлены стандарты кодировок. Первоначально первый стандарт кодировки был 8- разрядным, 1 байт = 1 разряду, 256 знаков в таблице.

ASCII коды – американский стандарт. КОИ – российский стандарт.

Таблица ASCII коды содержит коды от 0 до 31 – управляющие коды, 32 – пробел. От 33 до 255 – видимые знаки: маленькие и большие буквы латинского алфавита, цифры десятичной системы 0 – 9, знаки препинания, математические операции. Выделяется место для национальной кодировки. Оставшиеся коды отданы для псевдографики и дополнительных знаков.

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

Представление графической информации в ЭВМ.

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

10

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

Графическая информация хранится в ЭВМ в растровом или векторном виде.

Растровое изображение – изображение в виде мозаики. Векторное изображение – сжатие графической

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

Для записи растрового рисунка нужно задать местоположение каждого пикселя и его цвет. Для экономии объема растровый рисунок задается в виде прямоугольника пикселей. Указываются координаты верхнего левого угла ширина и высота. Далее последовательно блок за блоком цвета пикселей.

True Color – формируется как набор трех цветов: красный, зеленый и синий – RGB-формат, 3 байта на цвет.

Простейший векторный формат представляет графическое изображение как набор отрезков прямых одного цвета, т.е. если у нас на одной прямой находятся хотя бы 4 пикселя, то для хранения такого отрезка достаточно знать направление, длину отрезка и один раз цвет. Следовательно, если цвет кодируется 3 байтами, то получаем выигрыш в сжатии информации. Ширина прямой – 1 пиксель.

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

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

11

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

Такое сжатие называется сжатием с потерей информации. На качество изображения это почти не влияет. Сжатие возможно от 10 до 20 раз в расширении *.jpg.

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

Такая информация требует покадрового показа. Эксперименты показали, что глаз не замечает мелькание кадров, если их частота не меньше 24 кадра в секунду. 1 мин, 25 кадров в сек.

Воспроизведение видео и анимации практически невозможно без сжатия информации. Для сжатия анимации придуман метод MPЕG-инженерный. Его суть: хранить не все кадры, а только изменение от кадра к кадру. Такая технология дает сжатие от 10 до 100 раз.

Хранение звуковой информации в ЭВМ.

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

1)расклад в спектр;

2)производя дискретизацию по уровню сигнала.

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

Использование волновых таблиц дает возможность моделировать звук и аранжировать музыку.

12

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

Система счисления— это способ записи чисел с помощью заданного набора специальных знаков (цифр).

Существуют позиционные и непозиционные системы счисления.

Внепозиционных системах вес цифры(т.е. тот вклад, который она вносит в значение числа) не зависит от ее позиции в записи числа. Так, в римской системе счисления в числе ХХХII (тридцать два) вес цифры Х в любой позиции равен просто десяти.

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

изменяется в зависимости от ее положения(позиции) в последовательности цифр, изображающих число. Например, в числе 757,7 первая семерка означает 7 сотен, вторая – 7 единиц, а третья – 7 десятых долей единицы. Сама же запись числа 757,7 означает сокращенную запись выражения700 + 50 + 7 + 0,7 = 7•102 + 5•101 + 7•100 + 7•10-1 = 757,7.Любая позиционная система счисления характеризуется своим основанием.

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

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

an-1 qn-1 + an-2 qn-2+ ... + a1 q1 + a0 q0 + a-1 q-1 + ... + a-m q-m, 2 n и m – число целых и дробных разрядов, соответственно.

13

В двоичной системе, использующей только две цифры – 0 и 1, продвижение 0 означает замену его на 1, а продвижение 1 – замену её на 0.

Основные позиционные системы счисления

Двоичная система счисления.В настоящий момент – наиболее употребительная в информатике, вычислительной технике и смежных отраслях система счисления. Использует две цифры – 0 и 1, а также символы «+» и «–» для обозначения знака числа и запятую (точку) для разделения целой и дробной части.

Восьмеричная система счисления. Использует восемь цифр

– 0, 1, 2, 3, 4, 5, 6, и 7, а также символы «+» и «–» для обозначения знака числа и запятую (точку) для разделения целой и дробной частей числа. Широко использовалась в программировании в 1950-70-ые гг. К настоящему времени практически полностью вытеснена шестнадцатеричной системой счисления, однако функции перевода числа из десятичной системы в восьмеричную и обратно сохраняются в микрокалькуляторах и многих языках программирования.

Шестнадцатеричная система счисления. Использует шестнадцать цифр – 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9 в их обычном смысле, а затем B=11 ,C=12 ,D=13 ,E=14 ,F=15 . Также использует символы «+» и «–» для обозначения знака числа и запятую (точку) для разделения целой и дробной частей числа. Внедрена американской корпорацией IBM. Широко используется в программировании для IBM-совместимых компьютеров. С другой стороны, в некоторых языках сохранились и следы использования этой системы счисления в прошлом. Например, в романских языках (испанском, французском и др.) числительные от 11 до 16 образуются по одному правилу, а от 17 до 19 – по другому. А в русском языке известен пуд, равный 16 килограммам.

Системы счисления бывают позиционные и непозиционные.

14

Соседние файлы в папке GOSY