- •Омский государственный технический университет
- •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 – обр. код первого числа
+