Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
+Практ.р№1 (занятие № 3).doc
Скачиваний:
10
Добавлен:
01.03.2025
Размер:
265 Кб
Скачать
☆

Правило перевода дробных чисел (неправильных дробей)

Напомним, что неправильная дробь имеет ненулевую дробную часть, т.е. у нее числитель больше знаменателя.

Результат перевода неправильной дроби всегда неправильная дробь.

При переводе отдельно переводится целая часть числа, отдельно – дробная. Результаты складываются.

--------------------------------------------------------------------------------------------------------------------------

Пример 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. перевести в десятичную систему счисления. Полученное число записать со знаком минус.