- •Практическая работа №1
- •Инструкционно-технологическая карта
- •I. Краткие теоретические сведения
- •Преобразование чисел из одной системы счисления в другую Правила перевода целых чисел
- •Правила перевода правильных дробей
- •Правило перевода дробных чисел (неправильных дробей)
- •Перевод отрицательных чисел в 2 с/с
- •II. Практические задания
- •Литература
- •III. Контрольные вопросы
Правило перевода дробных чисел (неправильных дробей)
Напомним, что неправильная дробь имеет ненулевую дробную часть, т.е. у нее числитель больше знаменателя.
Результат перевода неправильной дроби всегда неправильная дробь.
При переводе отдельно переводится целая часть числа, отдельно – дробная. Результаты складываются.
--------------------------------------------------------------------------------------------------------------------------
Пример 1. Выполнить перевод из десятичной системы счисления в шестнадцатеричную числа 19,847. Перевод выполнять до трех значащих цифр после запятой.
Представим исходное число как сумму целого числа и правильной дроби:
19,847 = 19 + 0,847.
Тогда имеем:
19 + 0,847 = 1316 + 0,D8D16 = 13,D8D16.
Таким образом, 19,847 = 13,D8D16.
Перевод отрицательных чисел в 2 с/с
Для представления со знаком самый старший (левый) бит отводится под знак числа, остальные разряды – под само число. Если число положительное, то в знаковый разряд помещается 0, если отрицательное – 1.
Представление числа в привычной форме "знак"–"величина", при которой старший разряд ячейки отводится под знак, а остальные – под запись числа в двоичной системе, называется прямым кодом двоичного числа. Например, прямой код двоичных чисел 1001 и -1001 для 8-разрядной ячейки равен 00001001 и 10001001 соответственно.
Положительные числа в ЭВМ всегда представляются с помощью прямого кода. Прямой код числа полностью совпадает с записью самого числа в ячейке машины. Прямой код отрицательного числа отличается от прямого кода соответствующего положительного числа лишь содержимым знакового разряда. Но отрицательные целые числа не представляются в ЭВМ с помощью прямого кода, для их представления используется так называемый дополнительный код. Дополнительный код используется для упрощения выполнения арифметических операций.
--------------------------------------------------------------------------------------------------------------------------
Алгоритм получения дополнительного кода отрицательного числа.
Для получения дополнительного k-разрядного кода отрицательного числа необходимо
1. модуль отрицательного числа представить прямым кодом в k двоичных разрядах;
2. значение всех бит инвертировать: все нули заменить на единицы, а единицы на нули (таким образом, получается k-разрядный обратный код исходного числа);
3. к полученному обратному коду прибавить единицу.
--------------------------------------------------------------------------------------------------------------------------
Пример 1. Получим 8-разрядный дополнительный код числа -52:
00110100 - число |-52|=52 в прямом коде
11001011 - число -52 в обратном коде
11001100 - число -52 в дополнительном коде
--------------------------------------------------------------------------------------------------------------------------
При получении числа по его дополнительному коду, прежде всего, необходимо определить его знак. Если число окажется положительным, то просто перевести его код в десятичную систему счисления.
В случае отрицательного числа необходимо выполнить следующий алгоритм:
1. вычесть из кода числа 1;
2. инвертировать код;
3. перевести в десятичную систему счисления. Полученное число записать со знаком минус.
