Название: Методика преподавания информатики - Лапчик М.П.

Жанр: Информатика

Рейтинг:

Просмотров: 962


Числа в памяти ЭВМ хранятся в двух форматах: в формате с фиксированной точкой и в формате с плавающей точкой. Под точкой здесь и в дальнейшем подразумевается знак разделения целой и дробной части числа. Формат с фиксированной точкой используется для хранения в памяти целых чисел. В этом случае число занимает одно машинное слово памяти (16 бит). Чтобы получить внутреннее представление целого положительного числа Л^в форме с фиксированной точкой нужно:

1) перевести число N в двоичную систему счисления;

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

Например, N = 160710 = 110010001112. Внутреннее представление этого числа в машинном слове будет следующим:

 

0000

0110

0100

0111

 

В сжатой шестнадцатеричной форме этот код запишется так: 0647.

Двоичные разряды в машинном слове нумеруются от 0 до 15 справа налево. Старший 15-й разряд в машинном представлении любого положительного числа равен нулю. Поэтому максимальное целое число в такой форме равно:

0111 1111 1111 11112 = 7FFF16 = (215- 1) = 3276710.

Для записи внутреннего представления целого отрицательного числа (-N) нужно:

1) получить внутреннее представление положительного числа N;

2) получить обратный код этого числа заменой 0 на 1 и 1 на 0;

3) к полученному числу прибавить 1.

Определим по этим правилам внутреннее представление числа 160710.

1) 0000 0110 0100 0111

2) 1111 1001 1011 1000

3)_______________ +1

    1111 1001 1011 1001 - результат

Шестнадцатеричная форма результата: F9B9.

Описанный способ представления целого отрицательного числа называют дополнительным кодом. Старший разряд в представлении любого отрицательного числа равен 1. Следовательно, он указывает на знак числа и поэтому называется знаковым разрядом.

Применение дополнительного кода для внутреннего представления отрицательных чисел дает возможность заменить операцию вычитания операцией сложения с отрицательным числом: N – M =  N + (-М). Очевидно, должно выполняться следующее равенство: N + (-N) = 0. Выполним такое сложение для полученных выше чисел 1607 и —1607:

0000 0110 0100 0111 1607

1111 1001 1011 1001 -1607


Оцените книгу: 1 2 3 4 5