
- •Министерство образования и науки украины
- •Содержание
- •Требования по оформлению контрольной работы
- •1 Вопросы для проверки уровня знаний основ компьютерной арифметики
- •2 Перечень технической литературы
- •3Cистемы счисления компьютерной арифметики
- •3.1 Представление чисел в позиционных системах счисления
- •3.2 Выбор системы счисления компьютера
- •4 Методы перевода чисел из одной позиционной системы счисления в другую
- •4.1 Методы перевода целых чисел
- •4.1.1 Метод подбора коэффициентов
- •4.1.2 Метод перевода делением на основание новой системы
- •4.1.3 Метод перевода чисел делением на основание в положительной степени
- •4.2 Перевод правильных дробей умножением на основание системы
- •4.3 Перевод неправильных дробей
- •4.4 Перевод чисел из 16-и и 8-ричных систем в двоичную и обратно
- •5 Форматы представления чисел в компьютере
- •5.1 Представления чисел с фиксированной запятой
- •5.2 Представление чисел в формате с плавающей запятой
- •5.3 Погрешности представления чисел
- •5.3.1 Абсолютная погрешность представления чисел
- •5.3.2 Относительная погрешность представления числа
- •6 Бинарная арифметика
- •6 1 Формальные правила двоичной арифметики
- •6.2 Представление отрицательных чисел
- •7 Коды бинарных чисел
- •7.1 Обратный код числа
- •7.1.1 Переход от обратного кода к прямому
- •7.2 Дополнительный код числа
- •7.3 Сложение чисел, представленных в форме с фиксированной запятой, на двоичном сумматоре прямого кода
- •8 Алгебраическое сложение бинарных чисел
- •8.1Cложение чисел на двоичном сумматоре дополнительного кода
- •8.2 Сложение чисел на сумматоре обратного кода
- •9 Модифицированные бинарные коды
- •9.2 Модифицированное сложение чисел в формате с плавающей точкой
- •10 Сложение чисел при разных значениях порядков
- •10.1 Алгоритм операции сложения в формате с плавающей точкой
- •11 Умножение двоичных чисел
- •11.1 Методы умножения бинарных чисел
- •11.2 Умножение чисел с фиксированной запятой на дспк
- •11.3 Умножение чисел с плавающей запятой
- •12 Умножение чисел на дсдк
- •12.1 Умножение чисел на дсдк при положительном множителе
- •12.2 Умножение чисел на дсдк при отрицательном множителе
- •13. Деление бинарных чисел
- •13.1 Метод деления бинарных чисел
- •13.1.1 Общий алгоритм деления чисел с восстановлением остатка
- •13.2 Деление чисел с фиксированной запятой с восстановлением остатка
- •14 Деление чисел с фиксированной запятой без восстановления остатка
- •14.1 Алгоритм деления без восстановления остатка
- •14.2 Деление чисел с плавающей запятой
- •15 Контрольное задание
4.1.3 Метод перевода чисел делением на основание в положительной степени
Предыдущий метод имеет один недостаток. При больших числах, операция деления имеет много итераций. Это снижает быстродействие. Метод деления на основание новой системы в любой положительной степени аналогичен предыдущему. Здесь берут для деления число равное qn близкое к заданному числу, но не превышающего его. Каждый остаток от деления записывают в двоичных разрядах, число которых равно взятой степени.
Например. Перевести в бинарную систему счисления десятичное число 523.
Решение. Выбираем, ближайшее к заданному, число 29 = 512 и делим:
523 :512=1(11). Получили два остатка. Старший – 1, младший –11. Каждый из остатков расписываем в девяти бинарных разрядах: 000000001 000001011. Затем соединяем записи (старшие нули можно не записывать) и получаем число 1000001011. Проверим методом подстановки вместо единиц их весовых значений и подсчета общей их суммы. 20 + 21 + 23 + 29 = 1 + 2 + 8 + 512 = 523.
4.2 Перевод правильных дробей умножением на основание системы
Дробную часть числа можно записать в новой системе:
4.2.1
это выражение можно переписать по схеме Горнера:
если правую часть умножать последовательно на q2, то будем находить новую неправильную дробь, в целой части которой будут коэффициенты b-1, b-2,...,b-k, при этом все действия должны выполнятся по правилам q1 - арифметики, следовательно, в целой части получающихся дробей будут появляться эквиваленты чисел новой системы счисления, записанные в исходной системе счисления.
Пример. Перевести десятичную дробь 0,625 в двоичную.
.
Проверить можно по формуле 4.2.1.
Правило. Для перевода правильной дроби (без целой части) необходимо, действуя в арифметике исходной системы счисления, умножить переводимую дробь на основание новой системы, у результата отделить целую часть, а оставшуюся дробную часть снова умножить на это основание и так до получения нужного числа значащих цифр. Результат записывать как 0,... и дробную часть в прядке получения.
При переводе правильных дробей из одной системы счисления в другую, может получиться дробь в виде бесконечного или расходящегося ряда. Поэтому, процесс перевода необходимо заканчивать:
-при появлении в дробной части по всем разрядам нулей;
-если будет достигнута заданная точность дроби (т.е. необходимое число разрядов).
4.3 Перевод неправильных дробей
Правило. Для перевода неправильной дроби (т.е. дроби содержащую целую часть) из одной системы счисления в другую, необходимо раздельно осуществить перевод ее целой и дробной части, а результаты записать последовательно, отделив целую часть от дробной запятой.
Например: 98,625 = 1100010,1010.
4.4 Перевод чисел из 16-и и 8-ричных систем в двоичную и обратно
При переводе чисел из десятичной системы в двоичную, часто используют промежуточную восьмеричную или шестнадцатеричную систему. Это дает экономию в числе операций.
Например. Перевести десятичное число 121 в двоичное.
Для
сравнения, покажем перевод через
основания 8 и 2.
Чтобы перевести число из 16 или 8-ричной системы в двоичную необходимо каждую цифру переводимого числа представить соответственно четырех или трехразрядным двоичным кодом (тетрадами или триадами) расположив их на местах (разрядах) этих цифр. Нули в старших разрядах, не изменяющих значение числа можно опускать.
Например: 171(8) в двоичное N = 001 111 001=1 111 001
Например: 753,335(8) в двоичное 111 101 011,011 011 101.
Для перевода чисел из двоичной системы счисления в шестнадцатеричную (восьмеричную) необходимо. Двоичные цифры переводимого числа сгруппировать по четыре (три) в обе стороны от запятой (при необходимости неполные группы дополнить нулями). Каждую группу двоичных цифр заменить соответствующей ей цифрой в новой системе счисления. Новые цифры расположить на местах заменяемых кодов.
Пример: 111111010,1100001001(2) перевести в 16 и 8-ричную системы.
0001 1111 1010, 1100 0010 0100(2) =1FA,C24.
1 F А , С 2 4(16)
Ответ: 1FA,C24(16)
111 111 010, 110 000 100 100(2) =772,6044
7 7 2 , 6 0 4 4 (8)
Ответ: 772,6044(8)
Обобщая, делаем заключение. В качестве промежуточных систем счисления, при переводе чисел, целесообразно использовать системы с основанием q=2k, k=1,2,3,…Это упрощает преобразование их в двоичную систему и наоборот.