Информатика и ИТ. Нейросети. - Морозов Николай Петрович 5 стр.


Всего в разрядную сетку регистра-байта с помощью двоичного кода можно записать 256 вариантов значений: 2

8

целое положительное число

Еще одна возможность использования одного байта  хранение знакового диапазона: в этом случае старший (самый левый) бит разрядной сетки отводится под признак знака (1  отрицательное число, 0  положительное число), при этом количество значимых байтов уменьшается до семи, а диапазон числа будет иным, от -2

7

7

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

В редких случаях также используется представление целых чисел в четырехбайтовых ячейках. В некоторых случаях для хранения целых чисел небольшого разряда используют упаковку в 64-разрядное слово. Такое случается при использовании мультимедийной информации.

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

Компьютерное представление вещественных чисел

Говоря о хранении вещественных чисел, следует особо рассмотреть вопрос точности их представления. При бытовых исчислениях обычно обходятся точностью до 2-3-го десятичного знака после запятой, практика научных и инженерных измерений использует 56 знаков. Однако нельзя исключать возможность использования очень длинной дробной части числа (допустим, числа {х} с высокой точностью) или бесконечной периодической дроби (например, результат деления 1/3).

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

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

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

В целях увеличения количества разрядов мантиссы (а значит количества значащих цифр) вещественные числа хранятся в нормализованном виде. Нормализованное число в старшем разряде мантиссы обязательно имеет цифру отличную от нуля:

0,0054321

10

3

10

5

0,0100101

2

2

2

1

Как и в случае целых чисел, в программных системах могут использоваться несколько типов хранимых данных: Стандарты программного обеспечения требуют наличия 4-байтового и 8-байтового представления чисел, это числа одинарной и двойной точности.

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



В представленной на рис.2.1. разрядной сетке числа -2,21*105 старший разряд равен 1 (число отрицательное). Следующие восемь бит хранят характеристику  смещенный порядок, т.е. порядок числа, увеличенный на значение смещения. Значение смещения для четырехбайтового представления равно 127. Смещение порядка применяют для упрощения операций над числами с плавающей точкой. В рассматриваемом примере характеристика равна: 127+ (-5) =12210= 11110102.

С девятого разряда размещается мантисса: 22110= 110111012.

Громоздкая двоичная запись часто заменяется шестнадцатеричным представлением: BD6E10000.

Четырех байтовый формат хранения представляет числа в диапазоне 3,4*10

-38

38

В случае если мантисса числа превышает имеющуюся у формата разрядность, младшие разряды округляются и отбрасываются: 123456789,987654321  123456800,0.

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

В двойном формате порядок занимает 11 разрядов, а мантисса  52 разряда.

8 -ми байтовый формат представляет числа в диапазоне ±4,9*10

324

324

Фиксированное представление чисел позволяет хранить точное значение числа, а представление с плавающей точкой  округляется до точности представления и отображается на экране (без форматирования) в экспоненциальном виде: 1.234568Е+08, где конструкция Е+08 указывает на сдвиг запятой на количество знаков вправо (+) или влево (-).

Компьютерная арифметика. Булевы функции

Компьютерная арифметика.

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

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

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



Сложение чисел нужно производить поразрядно, начиная с младшего разряда. При этом применяются следующие правила:



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

Умножение. Умножение двоичных чисел, также схоже на умножение десятичных. Вот пример умножения двоичных чисел столбиком.



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

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

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

 а затем прибавить единицу.



Правило вычитания двух двоичных чисел:

 Сложить эти два числа (уменьшаемое и вычитаемое в дополнительном коде).

 При сложении бит переноса не учитывать. Полученный результат  разность.


Деление в двоичной системе происходит так же как в десятичной системе счисления.



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

При выполнении действий двоичной арифметики возможны ситуации, приводящие к неточности результата или ошибке. Так, при использовании целочисленного представления возможна ситуация потери старших разрядов результата (в случае превышения разрядов сетки). Еще одна парадоксальная ошибка «целочисленной арифметики»  при использовании знакового формата при сложении или умножении положительных чисел возможно получение результата, неверного по знаку (с единицей в знаковом бите) и модулю (без учета знакового бита). Для форматов с плавающей точкой возможна другая опасность: выход за границу допустимого диапазона значений. Это может произойти, если порядок результата оказывается больше максимального возможного значения. Обычно в такой ситуации выполнение программы прерывается по ошибке  «арифметическое переполнение». Схожая ситуация, когда результат меньше минимально возможного приведет к исчезновению числа (превращению в нуль, что опасно, например, при делении).

Булевы функции. Сложение по модулю два

Говоря об арифметических операциях с двоичными числами нельзя не сказать о логических операциях с ними. В XIX веке английский математик Джордж Буль разработал основные положения алгебры логики, ныне используемые для формального описания узлов ЭВМ. В алгебре логики (булевой алгебре) различают двоичные переменные и булевы функции.

Двоичные переменные могут принимать два значения: 0 и 1. Они обозначаются символами x

1

2

3

Булевы функции зависят от двоичных переменных. Они, как и аргументы, могут принимать лишь два значения: 0 или 1, и обозначаются как f (x

1

2

3

таблицами истинности,

К элементарным логическим функциям относятся:

Логическое отрицание  инверсия (логическая функция НЕ). Логическим отрицанием переменной x называется такая булева функция f

1

1

1

Логическое умножение  конъюнкция (логическая функция И). Конъюнкция двух (или любого другого числа) переменных x

1

2

Логическое сложение  дизъюнкция (логическая функция ИЛИ). Дизъюнкция двух (или любого другого числа) переменных x

1

2

Элементарные логические функции НЕ, И, ИЛИ являются основными логическими функциями.

Весьма значимой также является еще одна булева функция: сложение по модулю 2

Сложение по модулю 2  строгая дизъюнкция (исключающее ИЛИ). Эта функция переменных x

1

2

Приведем пример суммирования по модулю 2 двух двоичных чисел:



Вопросы для самопроверки


 Дайте определение системы счисления.

 Что называется основанием позиционной системы счисления?

 Число записано как 677,42 без указания основания системы счисления. В каких системах счисления могло быть записано это число?

 Какое число будет следующим за 10110012?

 Какое число будет предшествовать числу 1008?

 Перевести число 208.12 из десятичной системы счисления в двоичную.

 Перевести число 242 из десятичной системы счисления в шестнадцатеричную.

 Перевести число 1001.0012 из двоичной системы счисления в десятичную.

 Перевести число 10F.6A16 из шестнадцатеричной системы счисления в двоичную.

 Перевести число 10101.012 из двоичной системы счисления в десятичную.

 Представьте в стандартном виде числа: 12, 34; 0,0987; 100,1.

 Почему для хранения чисел в компьютере используют форматы целых и вещественных чисел?

 Запишите в экспоненциальном виде числа: 456, 789; 65,321; 0,753.

 К каким операциям сводят все арифметические действия в двоичной арифметике?

 Какие элементарные логические функции являются базовыми для построения логических выражений?

 Переведите в обратный код число 1000000

2

 Переведите в дополнительный код число 1000001

2

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

2

2

 Какие элементарные логические (Булевские) функции Вы можете назвать?

 Выполните операцию двоичного сложения: 1110110 +10101010.

 Выполните операцию двоичного сложения по модулю 2:

11010110 и 1010111.

 Выполните операцию двоичного вычитания с использованием дополнительного кода 11000001  1011101.

Глава 3

Представление информации в компьютере

Аналоговые и дискретные сигналы. Дискретное представление информации.


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

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

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

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

Аналоговые  сигналы, величина которых сохраняется непрерывно на каком-то отрезке времени, аналогичные порождающим процессам.

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

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

Дискретизация (англ. discretisation)  устранение непрерывности (пространственной или по времени) волновых информационных сигналов.

Квантование (англ. quantization)  преобразование диапазона всех возможных значений входного сигнала в конечное число выходных элементов

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

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

С учетом этого можно подвергнуть дискретные отсчеты квантованию. Интервал между соседними разрешенными уровнями называется шагом квантования. На практике чаще применяется равномерное квантование, при котором шаг квантования постоянный. На рис.3.1 представлена схема дискретизации и квантования звукового сигнала, где ΔА  шаг квантования устанавливает сохраняемые уровни значения амплитуды звуковой волны; Δt  шаг дискретизации звука (интервал снятия значений амплитуды звуковой волны по времени).



Рис.3.1. Дискретизация и квантование акустического сигнала


На рис.3.2 показана схема пространственной дискретизации. Изображение (слева) разбивается на геометрические элементы с шагом дискретизации Δl, в пределах которого значение цветовой характеристики может считаться неизменным. Результат применения шкалы квантования цвета по уровням градации с шагом ΔС показан справа на рисунке.





Рис. 3.2. Схема пространственной дискретизации

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

Назад Дальше