Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Dokument_Microsoft_Word_2.docx
Скачиваний:
8
Добавлен:
23.03.2015
Размер:
200.53 Кб
Скачать

3. Естественная, нормальная и нормализованная формы представления числа.

Нормальной формой числа с плавающей запятой называется такая форма, в которой мантисса (без учёта знака) находится на полуинтервале [0; 1) (0\le a<1). Число с плавающей запятой, находящееся не в нормальной форме, теряет точность по сравнению с нормальной формой.[источник не указан 2033 дня] Такая форма записи имеет недостаток: некоторые числа записываются неоднозначно (например, 0,0001 можно записать в 4 формах — 0,0001·100, 0,001·10−1, 0,01·10−2, 0,1·10−3), поэтому распространена (особенно в информатике) также другая форма записи — нормализованная, в которой мантисса десятичного числа принимает значения от 1 (включительно) до 10 (не включительно), а мантисса двоичного числа принимает значения от 1 (включительно) до 2 (не включительно) (1\le a<q). В такой форме любое число (кроме 0) записывается единственным образом. Недостаток заключается в том, что в таком виде невозможно представить 0, поэтому представление чисел в информатике предусматривает специальный признак (бит) для числа 0.

Так как старший разряд (целая часть числа) мантиссы двоичного числа (кроме 0) в нормализованном виде равен «1», то при записи мантиссы числа в ЭВМ старший разряд можно не записывать, что и используется в стандарте IEEE 754. В позиционных системах счисления с основанием большим, чем 2 (в троичной, четверичной и др.), этого свойства нет.

4. Кодирование чисел и знаков.

Для кодирования символов достаточно одного байта. При этом можно представить 256 символов (с десятичными кодами от 0 до 255). Набор символов персональных ЭВМ, совместимых с IBM PC, чаще всего является расширением кода ASCII (American Standard Code for Information Interchange — стандартный американский код для обмена информацией). В настоящее время используются и двухбайтовые предсталения символов.

5. Правила сложения в обратном и дополнительном кодах.

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

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

6. Правило сложения чисел, заданных в нормальной форме.

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

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

порядков, а мантисса меньшего числа сдвигается вправо на число разрядов, равное разности порядков. Сложение

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

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

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

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

большей по абсолютной величине, чем 1.)

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

величине, чем 1/2) является наличие двух одинаковых цифр 0,0 или 1,1 в двух соседних разрядах: младшем

знаковом разряде и в старшем цифровом разряде. Этот признак справедлив для обоих кодов: дополнительного и

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

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

х = + 0,110110·1010; у = — 0,101011·1010 („10“—два)

Получение в последнем примере двух одинаковых цифр 0,0 в младшем знаковом и старшем цифровом

разряде свидетельствует о нарушении нормализации вправо, сумма будет равна (после сдвига мантиссы на два

разряда влево) 00,101100·100

=+0,101100.

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

происходит выход мантиссы за допустимое число разрядов со стороны младших разрядов, лишние разряды

отбрасываются и, если старший из отбрасываемых разрядов равен единице, к младшему остающемуся разряду

прибавляется единица. Пример сложения мантисс в дополнительном коде со сдвигом и округлением.

х=0,101110·1010; у=0,100101·10

7. Правило умножения двоичных чисел

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

0 * 0 = 0 0 * 1 = 0 1 * 0 = 0 1 * 1 = 1

Рассмотрим подробнее, как это осуществляется. Пусть нам надо умножить число 1101 на 101 (оба числа в двоичной системе счисления). Машина делает это следующим образом: она берет число 1101, и если первый элемент второго множителя равен 1, то она заносит его в сумму. Затем сдвигает число 1101 влево на одну позицию, получая тем самым 11010, и если второй элемент второго множителя равен единице, то тоже заносит его в сумму. Если элемент второго множителя равен нулю, то сумма не изменяется. В связи с этим, если второй множитель содержит много нулей, то операция умножения выполняется довольно долго, так как машина проверяет каждую цифру второго множителя, в том числе и нули. Если же самому делать операцию умножения, то нули можно пропустить и тогда умножение будет выполнено быстрее. 

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]