
- •Лабораторная работа № 3 Системы счисления с основанием 2, 8 и 16
- •Задание
- •Методические указания
- •Десятичная система счисления
- •Двоичная система счисления
- •Восьмеричная система счисления
- •Шестнадцатеричная система счисления
- •Перевод чисел из двоичной системы в десятичную
- •Перевод чисел из восьмеричной системы в десятичную
- •Перевод чисел из шестнадцатеричной системы в десятичную
- •Перевод чисел из десятичной системы в двоичную
- •Перевод чисел из десятичной системы в восьмеричную
- •Перевод чисел из десятичной системы в шестнадцатеричную
- •Перевод чисел из двоичной системы в восьмеричную и шестнадцатеричную
- •Перевод чисел из восьмеричной системы в двоичную и шестнадцатеричную
- •Перевод чисел из шестнадцатеричной системы в двоичную и восьмеричную
- •Задание
- •Литература
- •Приложение
Перевод чисел из шестнадцатеричной системы в двоичную и восьмеричную
Алгоритм перевода чисел из шестнадцатеричной системы счисления двоичную крайне прост. Необходимо только заменить каждую цифру шестнадцатеричного числа ее эквивалентом в двоичной системе счисления (в случае положительных чисел). Как и в предыдущих параграфах, удобно и полезно воспользоваться таблицей соответствия, приведенной в Приложении. Отметим только, что каждое шестнадцатеричное число следует заменять двоичным, дополняя его до 4 разрядов (в сторону старших разрядов).
Пусть требуется перевести шестнадцатеричное число F116 в двоичное число. Воспользовавшись Таблицей соответствия из Приложения, получим:
F116=111100012,
поскольку F16 = 11112, 116 = 00012. Этот пример иллюстрирует тот факт, что следует дополнять младшие разряды до 4 разряда в двоичном числе. Естественно, дополнять старший разряд двоичного числа до 4 старших битов нулями не имеет смысла, другими словами пишут
1F16=111112, а не000111112
Обычно при переводе чисел из шестнадцатеричной в восьмеричную систему счисления вначале шестнадцатеричное число переводят в двоичное, затем разбивают его на триады, начиная с младшего бита, а потом заменяют триады соответствующими им эквивалентами в восьмеричной системе. Для рассмотренных примеров имеем:
1F16=111112=011 1112=378
F116=111100012=011 110 0012=3618
Непосредственное преобразование чисел из шестнадцатеричной системы счисления в восьмеричную требует выполнения арифметических действий в этой системе счисления. Об этом речь пойдет позже, в IV главе нашего курса. Отмечу только, что программная реализация вышеприведенного алгоритма проще и надежнее, поскольку при выполнениях операций деления неизбежно возникают дробные числа и переполнения разрядной сетки, необходимость округления, и, как следствие, потеря точности, не говоря уже о скорости выполнения компьютером такого типа алгоритмов.
Задание
Перевести аргумент 1 и аргумент 2 из лабораторной № 2 в другие системы счисления:
десятичную
восьмеричную
шестнадцатеричную
Выполнить суммирование в десятичной системе счисления.
Перевести результаты суммирования из лабораторной № 1 в десятичную систему счисления. Сравнить результаты с п. 2.
Выполнить умножение в десятичной системе счисления.
Перевести результаты умножения из лабораторной № 1 в десятичную систему счисления. Сравнить результаты с п. 2.
Перевести результаты умножения из десятичной системы счисления в другие системы:
восьмеричную
шестнадцатеричную
Перевести числа из п. 6 из восьмеричной и шестнадцатеричной системы в двоичную. Сравнить результаты.
Перевести число из восьмеричной и шестнадцатеричной систем счисления в десятичную систему счисления:
для нечетного варианта: 1700 + № своего варианта. Для вариантов x8 иx9 взять числа:
вариант 8 — 1726
вариант 9 — 1727
вариант 18 — 1736
вариант 19 — 1737
для четного варианта: 2000 + № своего варианта. Для вариантов x8 иx9 взять числа:
вариант 8 — 2026
вариант 9 — 2027
вариант 18 — 2036
вариант 19 — 2037
Литература
1. О. Нейгебавуэр "Точные науки в древности" // М.: пер. с англ., изд. "Наука", – 1968. – 224 с. 2. И.Я. Депман "История арифметики" // М.: изд. "Просвящение", –1965. – 415 с. 3. Е.А. Башков "Аппаратное и программное обеспечение зарубежных ЭВМ" // Учеб. пособие. – К.: Выща школа. – 1990. – 207 с. 4. С.Д. Погорелый, Т.Ф. Слободянюк "Программное обеспечение микропроцессорных систем: Справочник" // 2-е изд., перераб. и доп. – К.: Тэхника. – 1989. – 301 с. 5. Р. Токхайм "Микропроцессоры: Курс и упражнения" // пер. с англ., под ред. В.Н. Грасевича. М.: Энергоатомиздат. – 1988. – 336 с. 6. В. Юров "Assembler" // СПб: Издательство "Питер". – 2000. – 624 с. 7. У. Девис "Операционные системы. Функциональный подход" // Пер. с англ., М.: изд. "Мир". – 1980. – 436 с. 8. Д.В. Иртегов "Введение в операционные системы" // СПб.: БХВ-Петербург, – 2002. – 624 с. 9. С.В. Зубков "Assembler для DOS, Windows и Unix" // М.: ДМК Пресс. – 2000. – 608 с. 10. Э. Таненбаум "Архитектура компьютера" // пер. с анг., под ред. А.В. Гордеева. СПб.: Питер. – 2002. – 704 с. 11. З.Л. Рабинович, В.А. Раманаускас "Типовые операции в вычислительных машинах" // К.: Техніка, -1980. -264 с. 12. Б. Бериан "Программирование на языке ассемблера системы IBM/370. Упрощенный подход" // М.: "Мир", -1980. -640 с.
|