Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика_Конспект лекций.doc
Скачиваний:
19
Добавлен:
24.12.2018
Размер:
885.25 Кб
Скачать

Вопросы

1.Перевод дробных чисел из десятичной системы счисления в систему счисления с основанием q.

2. Перевод дробных чисел из десятичной системы счисления в систему 2-ю и 8-ю системы счисления.

  1. Перевод дробных чисел из десятичной системы счисления в 16-ю систему счисления.

  2. Перевести число 0.35 в 2- системы счисления.

  3. Перевести число 0.35 в 8-ю систему счисления.

  4. Перевести число 0.35 в 16-ю систему счисления.

  5. Хранение в ЭВМ целых чисел 15, 234, 127, 34 (в 2-х байтах).

  6. Двоичное число без знака.

  7. Обратный код числа

  8. Представить в обратном коде 19, 125, -15, -127, -57.

Лекция № 6

Дополнительный код. Представление дробных чисел.

Для образования дополнительного кода коэффициент С выбирают равным C = 2n.

Тогда значение числа определяется выражением:

,

где dn , dn-1, ..., d1, d0 цифры и соответствующие веса цифр: 0 и 1; dn дополнительный знаковый разряд, для неотрицательных чисел равен 0 (dn = 0), для отрицательных чисел равен единице (dn = 1); dndn-1...d1d0  запись целого (n+1)-разрядного отрицательного числа в дополнительном коде; n, п  1, ..., 1, 0 номера разрядов; di  2i  весовой коэффициент i-го разряда дополнительного кода числа (i = 0, n1). Весовой коэффициент n-го разряда дополнительного кода числа равен 2n.

Пусть в дополнительном коде число имеет вид: 1100. Тогда это число в прямом коде равно:

N = 1  (23) + 1  22 + 0  21 + 0  20 = 8 + 4 + 0 + 0 = 410 = 1002.

Пусть в дополнительном коде число имеет вид: 0100. Тогда это число в прямом коде равно:

N = 0  (23) + 1  22 + 0  21 + 0  20 = 0 + 4 + 0 + 0 = 410 =+1002.

Найдем правило записи отрицательного числа в прямом коде, представленном в дополнительном коде:

;

;

.

Так как ,то:

;

;

;

.

Чтобы записать прямой код отрицательного числа, представленного в n-разрядном дополнительном коде, необходимо:

  1. отбросить знаковый разряд dn;

  2. найти обратный код полученного числа. Для этого необходимо заменить в разрядах di (i=0, n1) нули единицами, а единицы  нулями;

  3. к полученному числу прибавить единицу. При этом будет получена абсолютная величина искомого отрицательного числа в двоичной системе счисления;

  4. слева приписать к полученной абсолютной величине знак «минус».

Пример 6. Найдем запись двоичного числа в прямом коде, если его четырехразрядный дополнительный код равен 1100.

  1. Отбросим старший разряд: 1100  100.

  2. Найдем обратный код дополнительного кода числа:

100

011

  1. К полученному числу прибавим единицу:

0112 + 12 = 1002.

  1. Слева к полученному числу припишем знак «минус»:

1002  1002.

Пример 6.2. Найдем запись двоичного числа в прямом коде, если его четырехразрядный дополнительный код равен 1000.

  1. Отбросим старший разряд: 1000  000.

  2. Найдем обратный код дополнительного кода числа:

000

111

  1. К полученному числу прибавим единицу:

1112 + 12 = 10002.

  1. Слева к полученному числу припишем знак «минус»:

10002  10002.

Пример 6.3. Найдем запись двоичного числа в прямом коде, если его четырехразрядный дополнительный код равен 1111.

  1. Отбросим старший разряд: 1111  111.

  2. Найдем обратный код полученного числа:

111

000

  1. К полученному числу прибавим единицу:

02 + 12 = 12.

  1. Припишем знак «минус»:

12  12.

Определим правило нахождения n разрядного дополнительного кода целого m-разрядного отрицательного числа:

;

;

;

.

Чтобы найти представление mразрядного двоичного целого отрицательного числа в дополнительном коде с количеством двоичных разрядов n (n > m) необходимо выполнить следующие действия:

  1. дополнить число слева n-m нулями до разрядности n, an = 0;

  2. найти обратный код полученного числа. При этом двоичные нули исходного числа заменяются двоичными единицами, а двоичные единицы  двоичными нулями, 1  an становится равным единице;

  3. к полученному обратному коду прибавить единицу.

Пример 6.4. Найдем шестиразрядный дополнительный код числа 1002.

  1. Дополним исходное число до необходимой разрядности:

100  00100.

  1. Найдем обратный код полученного числа:

00100

11001

  1. Прибавим единицу к полученному коду:

11001 + 1 =11010.

  1. Припишем единицу знакового разряда:

11010  111010.

Заметим, что отрицательные целые n-разрядные числа вида 2n-1 можно записать в дополнительном коде с n разрядами.

Пример 6.5. Найдем шестиразрядный дополнительный код шестиразрядного числа 25.

  1. Дополнять исходное число 25 = 1000002 до разрядности равной 6 в этом случае нет необходимости. Число 25 уже шестиразрядное.

  2. Найдем значения 1  ai (i = 1,6) :

ai 100000

1  ai 011111

  1. Прибавим единицу к полученному числу:

011111 + 1 =100000.

  1. Припишем единицу знакового разряда слева к числу в этом случае нет необходимости, так как уже b5 = 1.

Таким образом, дополнительный код числа 25 равен 100000. Проверим результат преобразования.

  1. Отбросим знаковый разряд:

00000.

  1. Восстановим прямой код полученного числа:

11111.

  1. К полученному числу прибавим единицу:

111112 + 12 = 1000002.

  1. Слева к полученному числу припишем знак «минус»:

1000002  1000002.

Полученный результат совпал с исходным числом:

1000002 = 25.

Значения минимальных отрицательных и максимальных положительных целых чисел, которые можно хранить в дополнительном коде в словах размера 1, 2, 4 и 8 байтов, показаны в табл. 6.1. При заполнении таблицы использовались выражения для определения минимального отрицательного и максимального положительного числа:

Lmin = 28l–1; (6.1)

Lmax = 28l–1  1, (6.2)

где Lmin  минимальное целое отрицательное число, представленное в обратном коде; Lmax  максимальное целое положительное число, представленное в обратном коде; l  размер слова в байтах.

Таблица 6.1

Размер слова

в байтах

Размер слова

в битах

Значение минимального

числа

Значение максимального

числа

1

8

27=  128

(27 1)= 127

2

16

215 = 32768

(215  1) = 32767

4

32

231 = 2147483648

(231  1) = 2147483647

8

64

263 < 16  1018

(263  1) < 16  1018