Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа 3.doc
Скачиваний:
36
Добавлен:
29.05.2015
Размер:
169.47 Кб
Скачать

Перевод чисел из шестнадцатеричной системы в двоичную и восьмеричную

Алгоритм перевода чисел из шестнадцатеричной системы счисления двоичную крайне прост. Необходимо только заменить каждую цифру шестнадцатеричного числа ее эквивалентом в двоичной системе счисления (в случае положительных чисел). Как и в предыдущих параграфах, удобно и полезно воспользоваться таблицей соответствия, приведенной в Приложении. Отметим только, что каждое шестнадцатеричное число следует заменять двоичным, дополняя его до 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. Перевести аргумент 1 и аргумент 2 из лабораторной № 2 в другие системы счисления:

    1. десятичную

    2. восьмеричную

    3. шестнадцатеричную

  2. Выполнить суммирование в десятичной системе счисления.

  3. Перевести результаты суммирования из лабораторной № 1 в десятичную систему счисления. Сравнить результаты с п. 2.

  4. Выполнить умножение в десятичной системе счисления.

  5. Перевести результаты умножения из лабораторной № 1 в десятичную систему счисления. Сравнить результаты с п. 2.

  6. Перевести результаты умножения из десятичной системы счисления в другие системы:

    1. восьмеричную

    2. шестнадцатеричную

  7. Перевести числа из п. 6 из восьмеричной и шестнадцатеричной системы в двоичную. Сравнить результаты.

  8. Перевести число из восьмеричной и шестнадцатеричной систем счисления в десятичную систему счисления:

    1. для нечетного варианта: 1700 + № своего варианта. Для вариантов x8 иx9 взять числа:

      1. вариант 8 — 1726

      2. вариант 9 — 1727

      3. вариант 18 — 1736

      4. вариант 19 — 1737

    2. для четного варианта: 2000 + № своего варианта. Для вариантов x8 иx9 взять числа:

      1. вариант 8 — 2026

      2. вариант 9 — 2027

      3. вариант 18 — 2036

      4. вариант 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 с.