
- •Омский государственный технический университет
- •1. Из истории развития систем счисления
- •Пальцевый счет
- •1.2. Древнеегипетская система счисления
- •Вавилонская система счисления
- •1.4. Системы счисления, основанные на позиционном принципе
- •1.5. Системы счисления Древней Греции
- •1.6. Римская система счисления
- •1.7. Древнеславянская система счисления
- •2. Позиционная система счисления
- •2.1. Представление произвольного числа в позиционной системе счисления
- •2.2. Двоичная система счисления
- •2.3. Восьмеричная система счисления
- •2.4. Шестнадцатеричная система счисления
- •2.5. Перевод чисел в систему с кратным основанием
- •2.6. Перевод правильной дроби
- •Задания для самостоятельной работы №1
- •1. Перевести данное число из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную системы счисления.
- •2. Перевести данное число в десятичную систему счисления.
- •Контрольная работа №1
- •3. Двоичная арифметика
- •3.1. Сложение двоичных чисел
- •3.2. Вычитание двоичных чисел
- •3.3. Умножение в двоичной системе счисления
- •3.4. Деление двоичных чисел
- •4. Формы представления чисел в эвм
- •4.1. Числа с фиксированной запятой
- •4.2. Числа с плавающей запятой
- •4.3. Сложение (вычитание) чисел с плавающей запятой
- •4.4. Умножение чисел с плавающей запятой
- •4.5. Прямой код
- •4.6. Обратный код
- •1 0111111111111111 – Обр. Код второго числа
- •4.7. Дополнительный код
- •4.8. Признак переполнения разрядной сетки
- •4.9. Правило перевода из дополнительного кода в десятичную систему
- •4.10. Модифицированные коды
- •5. Форматы чисел в эвм
- •Задания для самостоятельной работы №2
- •Контрольная работа №2.2
- •Контрольная работа №2.3
- •Контрольная работа №2.4
- •6. Кодирование алфавитно-цифровой информации
- •6.1. Параметры алфавитно-цифровой информации
- •6.3. Стандарты кодирования символов ansi, кои-8 и unicode
- •7. Двоично-десятичные коды
- •7.2. Коды с избытком
- •7.5. Действия над двоично-десятичными числами
- •7.6. Сложение двоично-десятичных чисел
- •7.7. Вычитание модулей двоично-десятичных чисел
- •7.8. Умножение модулей двоично-десятичных чисел
- •8. Код грея
- •8.1. Строение кода Грея
- •8.2. Использование кода Грея
- •8.3. Алгоритмы преобразования кода Грея
- •9. Погрешности вычислений
- •9.1. Источники погрешностей
- •9.2. Абсолютная и относительная погрешности
- •9.3. Десятичная запись приближенных чисел Значащая цифра числа. Верная значащая цифра
- •9.4. Распространение ошибок
- •9.5. Правила подсчета цифр
- •9.6. Общие рекомендации, позволяющие уменьшить погрешность вычислений
- •9.7. Ошибки в программах, связанные с особенностью выполнения арифметических операций
- •10. Представление графической информации
- •10.1. Текстовый режим
- •10.2. Графический режим
- •10.3. Растровое графическое изображение
- •10.4. Векторная графика
- •10.5. Форматы графических файлов
- •11. Представление звуковой информации
- •11.1. Цифро-аналоговое и аналого-цифровое преобразование звуковой информации
- •11.2. Компрессия звука
- •11.3. Формат Microsoft riff
- •11.6. Midi-форма звука
- •11.7. Аппаратные синтезаторы
- •11.8. Альтернативы звука в эвм
- •11.9. Звуковые платы
- •Задачи для самостоятельной работы
- •Приложение 3
- •Содержание
- •Литература
4.5. Прямой код
Прямой код
двоичного числа
,
представляемого в n-разрядной
сетке, определяется как:
, при 0;
=
,
при
0,
где
– величина, равная весу старшего разряда
сетки (для дробей
= 1, а для целых
= 2 в степени
).
Диапазон представляемых кодом чисел 0
|
|
<
.
Из определения
следует, что положительные числа
представляются кодами (числами без
знака) 0
<
,
а отрицательные
<
2
.
Признаком представления положительных
чисел является наличие нуля в старшем
разряде, называемом знаковым. Наличие
в этом разряде 1 говорит о том, что число
отрицательное. Цифровые разряды прямого
кода содержат модуль представляемого
числа, что обеспечивает наглядность
представления чисел в прямом коде.
Рассмотрим однобайтовое представление двоичного числа (наиболее часто встречается в микропроцессорах). Пусть это будет 28(10). В двоичном формате – 0011100(2) (при однобайтовом формате под величину числа отведено 7 разрядов). Двоичное число со знаком будет выглядеть так, как показано на рисунке 4.1.
Рис. 4.1. Формат двоичного числа со знаком в прямом коде
а – положительное число; б – отрицательное
Сложение в прямом коде чисел, имеющих одинаковые знаки, производится достаточно просто. Числа складываются, и сумме присваивается знак слагаемых. Однако для операции алгебраического сложения чисел с разными знаками прямой код неудобен. В этом случае приходится определять большее по модулю число, производить вычитание, а затем разности присваивать знак большего по модулю числа.
Операция вычитания (алгебраического сложения) сводится к операции простого арифметического сложения при помощи обратного и дополнительного кодов.
4.6. Обратный код
Обратный код двоичного числа G, представляемого в n-разрядной сетке, определяется как
, при 0;
=
,
при
0,
где
– величина наибольшего числа без знака,
размещающегося в n-разрядной
сетке (для дробей
= 2 – 2- (n-1),
а для целых
= 2 n
-1). Диапазон
представляемых обратным кодом чисел
такой же, как и у прямого кода: 0
<
.
Обратный код отрицательного числа представляет собой дополнение модуля исходного числа до наибольшего числа без знака, помещающегося в разрядную сетку.
В связи с этим получение обратного кода двоичного отрицательного числа сводится к получению инверсии n-разрядного кода модуля этого числа. Так как модуль чисел, представимых в n-разрядной сетке, G< A, в старшем (знаковом) разряде обратного кода у положительных чисел будет 0, а у отрицательных 1.
Рис. 4.2. Формат двоичного числа со знаком в обратном коде
а – положительное число; б – отрицательное
В цифровых разрядах обратного двоичного кода представляется либо модуль числа (для положительных чисел), либо его инверсия (для отрицательных чисел).
Перенос, возникающий из знакового разряда, при использовании обратного кода должен прибавляться в младший разряд суммы. Такой перенос называется круговым или циклическим.
При выполнении расчётов на машине может возникнуть как "положительный", так и "отрицательный" ноль. Положительный ноль в прямом и обратном коде имеет вид:
(+ 0)пр = 00000.....00;
(+ 0)обр = 00000.....00.
Отрицательный ноль изображается соответственно для прямого и обратного кода:
(– 0)пр = 100000...00;
(– 0)обр = 111111...11.
Кроме того, в операциях сложения и вычитания требуется дополнительная операция по прибавлению бита переноса в младший разряд суммы. Рассмотрим правила алгебраического сложения в ОК (поскольку А – В = А + (– В)). Алгоритм сложения в ОК включает в себя:
– сложение кодов, включая знаковый разряд;
– прибавление переноса к МЗР (младшему значащему разряду) суммы.
Пример 4.5. Сложить два числа +5 и -8, используя обратный код.
+5(10) = +101(2) =0_101(пр)=0_010(обр)
–8(10) = –1000(2) = 1_1000(пр)=1_0111(обр)
Данные числа в 24-разрядной сетке ЭВМ в прямом коде имеют следующий вид:
000000111010000000000000
100001001000000000000000
В соответствии с указанным выше мантисса первого числа сдвигается вправо на 1 разряд, т.к. порядок числа равен 3, а порядок второго числа равен 4.
Сложение мантиссы на сумматоре:
0 0101000000000000 – обр. код первого числа
+