
- •Омский государственный технический университет
- •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
- •Содержание
- •Литература
2.2. Двоичная система счисления
Двоичная система
счисления, т.е. система с основанием
,
является «минимальной»
системой, в которой полностью реализуется
принцип позиционности в цифровой форме
записи чисел. В двоичной системе счисления
значение каждой цифры «по месту» при
переходе от младшего разряда к старшему
увеличивается вдвое.
История развития двоичной системы счисления – одна из ярких страниц в истории арифметики. Официальное «рождение» двоичной арифметики связывают с именем Г.В.Лейбница, опубликовавшего статью, в которой были рассмотрены правила выполнения всех арифметических операций над двоичными числами. До начала тридцатых годов XX века двоичная система счисления оставалась вне поля зрения прикладной математики. Потребность в создании надежных и простых по конструкции счетных механических устройств и простота выполнения действий над двоичными числами привели к более глубокому и активному изучению особенностей двоичной системы как системы, пригодной для аппаратной реализации. Первые двоичные механические вычислительные машины были построены во Франции и Германии. Утверждение двоичной арифметики в качестве общепринятой основы при конструировании ЭВМ с программным управлением состоялось под несомненным влиянием работы А. Бекса, Х. Гольдстайна и Дж. Фон Неймана о проекте первой ЭВМ с хранимой в памяти программой, написанной в 1946 году. В этой работе наиболее аргументировано, обоснованы причины отказа от десятичной арифметики и перехода к двоичной системе счисления как основе машинной арифметики.
Совместное использование в вычислительной технике двоичной, восьмеричной и шестнадцатеричной и других систем обусловлено двумя причинами:
– в восьмеричной и шестнадцатеричной системах любое число записывается более компактно, нежели двоичное;
– простотой преобразования из двоичной в восьмеричную (шестнадцатеричную) систему счисления и наоборот.
В дальнейшем для обозначения используемой системы счисления будем заключать число в скобки и в индексе указывать основание системы счисления.
Для двоичной системы счисления можно записать:
,
(2.5.)
где
либо 0, либо 1.
Таким образом, вес каждого разряда в двоичной системе счисления кратен 2 или 0,5.
Для того чтобы преобразовать десятичное число в двоичное, его нужно разложить по степеням двойки. Но если разложение по степеням десятки получается сразу, то, как разложить по степеням двойки надо немного подумать. Для начала рассмотрим, как это сделать методом подбора. Возьмём десятичное число 12.
Шаг первый. 22 = 4, этого мало. Также мало и 23 = 8, а 24=16 это уже много. Поэтому оставим 23 =8. 12 - 8 = 4. Теперь нужно представить в виде степени двойки 4.
Шаг второй. 4 = 22.
Тогда число 12 = 23 + 22. Старшая цифра имеет номер 4, старшая степень = 3, следовательно, должны быть слагаемые со степенями двойки 1 и 0. Но они нам не нужны, поэтому чтобы избавится от ненужных степеней, и оставить нужные запишем число так: 1*23 + 1*22 +0*21 + 0*20 = 1100 - это и есть двоичное представление числа 12. Нетрудно заметить, что каждая очередная степень - это наибольшая степень двойки, которая меньше разлагаемого числа.
Пример 2.2.
Представить в двоичной системе счисления
число
.
Шаг 1. Ближайшая степень двойки 24 = 16. 23 -16= 7.
Шаг 2. Ближайшая степень двойки 22 = 4. 7 - 4 = 3.
Шаг 3. Ближайшая степень двойки 21 = 2. 3 - 2 = 1.
Шаг 4. Ближайшая степень двойки 20=1 1 - 1 =0.
Получаем следующее разложение: 1*24 + 0*23 +1*22 +1*21 +1*20
Искомое двоичное число 10111.
Рассмотренный выше метод хорошо решает поставленную перед ним задачу, но есть способ, который алгоритмизируется значительно лучше. Алгоритм этого метода записан ниже:
Пока ЧИСЛО больше нуля делать
Начало
ОЧЕРЕДНАЯ ЦИФРА = остаток от деления ЧИСЛА на 2
ЧИСЛО = целая часть от деления ЧИСЛА на 2
Конец
Когда этот алгоритм завершит свою работу, последовательность вычисленных ОЧЕРЕДНЫХ ЦИФР и будет представлять двоичное число.
Пример.
Представить
в двоичной форме.
Начало алгоритма ЧИСЛО = 19
Шаг 1 ОЧЕРЕДНАЯ ЦИФРА = 1, ЧИСЛО = 9
Шаг 2 ОЧЕРЕДНАЯ ЦИФРА = 1, ЧИСЛО = 4
Шаг 3 ОЧЕРЕДНАЯ ЦИФРА = 0, ЧИСЛО = 2
Шаг 4 ОЧЕРЕДНАЯ ЦИФРА = 0, ЧИСЛО = 1
Шаг 5 ОЧЕРЕДНАЯ ЦИФРА = 1, ЧИСЛО = 0
Итак, в результате имеем следующее число 10011.
Заметим, что два рассмотренных метода отличаются порядком получения очередных цифр. В первом методе первая полученная цифра - это старшая цифра двоичного числа, а во втором первая полученная цифра наоборот младшая.
Как и в десятичной, в двоичной системе счисления для отделения целой части от дробной используется точка. Значение веса разрядов справа от точки равно основанию двоичной системы, возведенному в отрицательную степень. Такие веса - это дроби вида: 1/2, 1/22, 1/23, 1/24, 1/25 или 1/2, 1/4, 1/8, 1/16. Их можно выразить через десятичные дроби: 2-1 = 0.5, 2-2 = 0.25, 2-3 = 0.125, 2-4 = 0,0625.
Каждая позиция, занятая двоичной цифрой, называется бит. Бит является наименьшей единицей информации в ЭВМ. Наименьшим значащим битом (МЗР) называют самый младший двоичный разряд, а самым старшим двоичным разрядом – наибольший значащий бит (СЗР). В двоичном числе эти биты имеют, соответственно, наименьший и наибольший вес. Обычно двоичное число записывают так, что старший значащий бит является крайним слева.
К достоинствам двоичной системы счисления относится:
– простота выполнения арифметических и логических операций, что влечет за собой простоту устройств, реализующих эти операции;
– возможность использования аппарата алгебры логики (булевой алгебры) для анализа и синтеза операционных устройств ЭВМ.
К неудобствам двоичной системы счисления относится необходимость перевода чисел из десятичной в двоичную и наоборот, а также то, что запись числа в двоичной системе громоздка (требует большего числа разрядов, чем привычная для человека десятичная). По этой и ряду других причин, кроме двоичной применяются восьмеричная и шестнадцатеричная системы счисления.
Пример 2.3. Перевести целое десятичное число 10(10) в двоичное число.
Если процедуру перевода выполняет человек, то последний шаг получения частного, равного нулю, никогда не делается. Если перевод выполняется ЭВМ, то он необходим. Таким образом, полный вариант преобразования 10(10) будет иметь следующий вид:
Пример 2.4. Десятичное число 57(10) преобразовать в двоичное число.