- •Информатика Конспект лекций
- •Часть 1
- •Оглавление
- •6. Технология создания программНого продукТа 89
- •1.2. Появление и развитие информатики
- •1.3. Структура информатики
- •2. Измерение информации
- •2.1. Информация и её свойства
- •2.1.1. Информация и данные
- •2.1.2. Формы адекватности информации
- •2.2. Меры информации
- •2.2.1. Классификация мер
- •2.2.2. Семантическая мера информации
- •2.2.3. Прагматическая мера информации
- •2.3. Качество информации
- •3. Представление информации в эвм
- •3.1. Системы счисления и формы представления чисел
- •3.1.1. Позиционные системы счисления
- •3.2. Системы счисления, используемые при работе с эвм
- •3.2.1. Двоичная система счисления
- •3.2.2. Двоичная арифметика
- •3.3. Перевод чисел из одной системы счисления в другую
- •0 1
- •3.4. Прямой, обратный и дополнительный коды чисел
- •3.4.1. Сложение чисел в прямом и дополнительном коде
- •0,01101
- •3.5. Варианты представления информации в пк
- •4. Аппаратное обеспечение современного персонального компьютера
- •4.1. История возникновения персональных компьютеров
- •4.2. Структурная схема пк
- •4.2.1. Системный блок
- •4.2.2. Клавиатура
- •4.2.3. Мышь
- •4.2.4. Мониторы
- •4.2.5. Принтеры
- •4.2.6. Сканеры
- •4.3. Конфигурация компьютера
- •5. Программное обеспечение компьютеров
- •5.1. Классы программных продуктов
- •5.2. Системное программное обеспечение
- •5.2.1. Структура системного программного обеспечения
- •5.2.2. Операционные системы
- •5.2.3. Операционные оболочки
- •5.2.4. Сервисное программное обеспечение
- •5.2.5. Антивирусные программы
- •5.3. Пакеты прикладных программ
- •5.3.1. Проблемно-ориентированные ппп
- •5.3.2. Ппп автоматизированного проектирования
- •5.3.3. Ппп общего назначения
- •5.3.4. Методо-ориентированные ппп
- •5.3.5. Офисные ппп
- •5.3.6. Настольные издательские системы
- •5.3.7. Программные средства мультимедиа
- •5.3.8. Системы искусственного интеллекта
- •5.4. Инструментарий технологии программирования
- •5.4.1. Состав и назначение инструментария технологии программирования
- •5.4.2. Средства для создания приложений
- •5.4.3. Case-технология создания информационных систем
- •6. Технология создания программНого продукТа
- •6.1. Основные понятия
- •6.2. Постановка задачи
- •6.3. Алгоритм и его свойства
- •6.3.1.Способы записи алгоритма
- •6.3.2. Правила построения блок-схем
- •6.4. Программирование
- •6.5. Специалисты, занятые разработкой и эксплуатацией программ
- •6.6. Характеристика программного продукта
- •7. Компьютерные сети
- •7.1. Особенности локальных, глобальных и городских сетей
- •7.1.1. Тенденции сближения сетей разных типов
- •7.2. Архитектура локальной сети
- •7.2.1. Сети с топологией «шина»
- •7.2.2. Сети с топологией «кольцо»
- •7.2.3 Сети с топологией «звезда»
- •7.3. Разновидности локальных сетей
- •8. Интернет
- •8.1. Хронология возникновения Интернет
- •8.2. Глобальные сети
- •8.2.1.FidOnet
- •8.2.2. Всемирная сеть Internet
- •8.3. Www — World Wide Web
- •8.3.1. Понятие www
- •8.3.2. Возможности www
- •8.3.3. Поиск информации в www
- •8.3.4. Html - язык для созданияWeb-документов
- •8.4. Основные приёмы работы в Интернет
- •8.4.1. Система адресации вInternet
- •8.4.2. Программа-браузерInternetExplorer
- •8.4.3. ПрограммаOutlookExpress
- •Библиографический Список
- •Информатика
3.4. Прямой, обратный и дополнительный коды чисел
В ЭВМ используется прямой, обратный и дополнительный коды чисел. Знак “+” кодируется нулем (0), “-” - единицей (1), которые записываются в дополнительном старшем разряде - знаковом разряде.
Возьмем целое число С = + Cn Cn-1 Cn-2 ...C1 C0 .
1. Прямой код для целых чисел определяется:
Cпр= │C│ при C > 0,
Pn+1 +│C│ при C < 0 .
Для отрицательных двоичных чисел имеем:
C = 2 +-Cn Cn-1 ...C0 = 1.Cn Cn-1 ...C0,
где точкой отделен знаковый разряд.
Таким образом, для получения прямого кода числа надо в знаковый разряд записать 0 для положительных и 1 для отрицательных чисел.
C = +10110, Cпр = 0.10110; C = -10110, Cпр = 1.10110.
Сложение в прямом коде не вызывает затруднений, когда у слагаемых одинаковые знаки: сложить модули и сумме присвоить знак слагаемых. При вычитании чисел в прямом коде нужно сначала определить больший модуль, от него отнять меньший и результату присвоить знак большего модуля.
Обратный код определяется:
Cобр= │C│ при C > 0,
Pn+2-P0-│C│ при C < 0 .
Для отрицательных двоичных чисел имеем:
Cобр = 2n+2 - 1 --Cn Cn-1 …C0 = 11…1 – 0.Cn Cn-1…C0= 1.n n-1…0,
где I = 1 при Ci = 0 и I = 0 при Ci = 1 .
Таким образом, для представления чисел в обратном коде надо в знаковый разряд записать 0 или 1, для отрицательных чисел в значащие разряды нужно записать дополнение модуля исходного числа до наибольшего числа без знака, помещающегося в данных разрядах. Для двоичной системы счисления последнее означает, что в случае отрицательных чисел для получения обратного кода надо значение разрядов инвертировать: вместо 0 записать 1, вместо 1 – 0.
C = +10110, Cобр = 0.10110; С = -10110, Собр = 1.01001.
Дополнительный код чисел определяется:
Cдоп = │C│ при C > 0,
Pn+2 -│C│ при C < 0 .
При представлении двоичного отрицательного числа в дополнительном коде в знаковый разряд надо записать 1, а цифровую часть заменить дополнением числа до 2n+1 .
Сравним выражения для представления обратного и дополнительного кода числа. Становится очевидно, что дополнительный код отрицательных чисел получается из обратного прибавлением единицы в младший разряд.
Cдоп = Собр +1, при С < 0 .
C = +10110, Cдоп = 0.10110; С = -10110, Сдоп = 1.01010.
Как можно увидеть, при вычислениях в ЭВМ в прямом и обратном коде может получиться как положительный, так и отрицательный нуль (+0, -0).
(+0)пр=0,00…0, (-0)пр=1,00..0;
(+0)обр=0,00…0, (-0)обр=1,11…1.
И только в дополнительном коде нуль представляется однозначно:
(+0)доп = 0,00…0, (-0)доп = 1,11…1+2-m = 0.
Нетрудно доказать, что (по модулю):
Обратный код от обратного кода дает прямой код числа.
Дополнительный код от дополнительного кода дает прямой код числа.
3.4.1. Сложение чисел в прямом и дополнительном коде
Можно строго математически доказать следующие правила.
Правило 1. При сложении дополнительных кодов чисел знаковые разряды складываются аналогично остальным, перенос из знакового разряда теряется, результат получается в дополнительном коде.
Правило 2. При сложении чисел в обратном коде знаковые разряды складываются аналогично остальным, перенос из знакового разряда прибавляется к младшему разряду результата (так называемый циклический перенос), результат получается в обратном коде.
Таким образом, применение обратного и дополнительного кода упрощает алгебраическое сложение. Сложение чисел с разными знаками заменяется сложением их соответствующих кодов, знак при этом получается автоматически.
Пример 3.14
1. X
= 0,0101, Y
= -0,0011
Xдоп
= 0,0101, Yдоп
= 1,1101 Xдоп
+ Yдоп
= 0,0101
+1,1101
10,0010
( единица переноса теряется)