
Перевод дробных чисел из десятичной системы счисления в другую.
Правило перевода дробных чисел из десятичной системы счисления в систему с основанием q:
1. Последовательно выполнять умножение исходного числа и получаемых дробные части на q до тех пор, пока дробная часть не станет равна нулю или не достигнем требуемую точность.
2. Полученные при таком умножении целые части - числа в системе счисления q – записать в прямом порядке (сверху вниз).
Пример1. Перевести 0,562510 в двоичную систему счисления. А10→А2
Решение:
Ответ: 0,562510=0,10012
Представление отрицательных чисел в прямом, обратном двоичных кодах. [Понятие ограниченной разрядной сетки. Назначение, структура прямого кода, примеры чисел. Назначение, структура, предпосылки к созданию обратного кода, порядок формирования чисел в обратном коде.]
ограниченная разрядная сетка - это когда число по модулю не может быть больше предельного, например если 4 разряда, то максимальное число, что можно записать = 1111 = 8+4+2+1=15.... Так что если 1111+1 - то будет ПЕРЕПОЛНЕНИЕ
В форме с фиксированной запятой в разрядной сетке выделяется строго определенное число разрядов для целой и для дробной частей числа. Левый (старший) разряд хранит признак знака (0 – "+", 1 – "-") и для записи числа не используется.
Прямой код— способ представлениядвоичныхчиселсфиксированной запятойвкомпьютерной арифметике. Главным образом используется для записиположительных чисел.
При записи числа в прямом коде старший разряд является знаковым разрядом. Если его значение равно 0 — то число положительное, если 1 — тоотрицательное. В остальных разрядах (которые называютсяцифровыми разрядами) записывается двоичное представлениемодулячисла.
Применение прямого кода
В информатике прямой код используется главным образом для записи неотрицательных целых чисел. Его легко получить из представления целого числа в любой другой системе счисления. Для этого достаточно перевести число в двоичную систему счисления, а затем заполнить нулями свободные слева разряды разрядной сетки машины.
Однако, у прямого кода есть два недостатка:
В прямом коде есть два варианта записи числа 0(например, 00000000 и 10000000 в восьмиразрядном представлении).
Использование прямого кода для представления отрицательных чисел в памятикомпьютерапредполагает или выполнение арифметических операцийцентральным процессоромв прямом коде, или перевод чисел в другое представление (например, вдополнительный код) перед выполнением операций и перевод результатов обратно в прямой код (что неэффективно).
Выполнение арифметических операций над числами в прямом коде затруднено: например, даже для сложения чисел с разными знаками требуется кроме сумматораиметь специальный блок-«вычитатель», сложность реализации которого такая же, как и обычногосумматора. Кроме того, при выполнении арифметических операций требуется особо обрабатывать значащий разряд, так как он не имеет веса. Также требуется обработка «отрицательного нуля». Таким образом, выполнение арифметических операций над числами в прямом коде потребует сложной архитектуры центрального процессора и в общем является неэффективным.
0 00011010 - положительное число 1 00011010 – отрицательное число
Обратный код— методвычислительной математики, позволяющий вычесть одно число из другого, используя только операцию сложения наднатуральными числами. Ранее метод использовался в механическихкалькуляторах(арифмометрах). В настоящее время используется в основном в современныхкомпьютерах.
Обратный код был придуман для сокращения количества дополнительных устройств и операции выполняемых ими(пример вычитание заменяют сложением). Правило формирования обратного кода: для положительных чисел ничего не меняется, для отрицательных – знаковый разряд остается прежним, а остальные разряды инвертируются (пр=10001111, обр=11110000).
Обратный n-разрядный двоичный код положительного целого числа состоит из одноразрядного кода знака (двоичной цифры 0), за которым следует n − 1-разрядное двоичное представление модуля числа (обратный код положительного числа совпадает с прямым кодом).
Пример. Двоичное представление числа 5 есть 101. Обратный 10-разрядный двоичный код числа +5 есть 0000000101.
Обратный n-разрядный двоичный код отрицательного целого числа состоит из одноразрядного кода знака (двоичной цифры 1), за которым следует n − 1-разрядное двоичное число, представляющее собой инвертированное n − 1-разрядное представление модуля числа.
Пример. Двоичное представление числа 5 есть 101, его 10-разрядное двоичное представление — 0000000101. Обратный 10-разрядный двоичный код числа −5 есть 1111111010.
Имеются два обратных кода числа 0: «положительный нуль» 0000000000 и «отрицательный нуль» 1111111111 (приведены 10-разрядные обратные коды).
n-разрядный обратный код позволяет представить числа от − 2n − 1 + 1 до + 2n − 1 − 1.