Скачиваний:
16
Добавлен:
16.01.2016
Размер:
596 Кб
Скачать
☆
    1. Задание 2.

Вычислите значение указанного выражения. Вычисления и ответ представить в двоичной системе счисления.

1018 : 1012 + 1019∙(10110 – 1018) + 10116

Для выполнения данного задания переведем все числа в двоичную систему счисления:

1018 = 10000012

1012 = 1012

1019 = 10100102

10110 = 11001012

1018 = 10000012

10116 = 1000000012

Выполним все действия в нужной очередности.

  1. 11001012-10000012=1001002

  2. 10100102*1001002=1011100010002

  3. 10000012 / 1012=11012

  4. 11012+1011100010002=1011100101012

  5. 1011100101012+1000000012=1100100010012

    1. Задание 3

Представить заданные вещественные числа А и В в формате с плавающей точкой. Выполнить сложение этих чисел в различных числовых форматах: а) как числа половинной точности, б) как числа двойной точности (см. описание типов). Все стадии решения представить в двоичной системе счисления (или в 16-ой для компактности записи). Оценить погрешность вычисления, взяв за основу истинный результат вычисления. В случае появления ошибки вычисления, аргументировать причины такой ошибки.

А = 100,3, В = 201,48.

Вариант А (сложение чисел половинной точности).

Переведем данные числа в двухзначную систему счисления:

100,310=1100100,10011=1,10010010011*1026

10010=11001002

0,310=(10011) данное число будет периодичным. Возьмем первые пять бит получившегося периода.

р=21=101012

В результате получим число:

А=0 10101 10010010011

В = 201,48

Проделаем такие же операции с данным числом

201,4810=11001001,111102=1,1001001111102*1026

20110= 110010012

0,4810=111102 так как число получается так же периодичным берем только первые пять бит.

р=21=101012

В=0 10101 100100111110

А+В=М1+М2

1,10010010011*1026+1,1001001111102*1026=10,010111010001*1026=302,1610

=301,78-302,16=0,38

Причиной данной ошибки является то, что в силу ограниченности мантиссы произошло отбрасывание значащих бит в дробной части исходных чисел.

Вариант Б (Сложение чисел двойной точности)

При использовании чисел двойной точности погрешности вычислений значительно снижается, так как порядок числа занимает 11, а не 5 бит, а мантисса занимает уже целых 52 бита в отличии 10 битной мантиссы числа половинной точности.

Так же переведем данные числа в двоичную систему счисления. Получим следующее:

100,310=1,10010001001100110011002 * 106

10010=11001002

0,310=0.01001100110011002 данное число будет периодичным. Запишем период до заполнении 52 бит мантиссы.

р=6+1023=1029=100000001012

В результате получим число:

А=0 10000000101 1001000100110011001100010011001100110001001100110011

В = 201,48

Проделаем такие же операции с данным числом

201,4810= 11,00100101111010111000012 * 106

20110= 110010012

0,4810= 0.01111010111000012 так как число получается так же периодичным запишем период до заполнения мантиссы.

р=7+1023=1030=100000001102

В=0 10000000110 0010010010111101011100001011110101110000101111010111

А+В=М1+М2

1,1001000100110011001100010011001100110001001100110011*101029+11,0010010111101011100001011110101110000101111010111*101030= [Так как р1<р2 => что М3*np2] =10,01011010001100001111101010000101001100110011100101101011111100*101030

Rez=0 10000000110 00011000011111010100001010011001100111001011010111111002

10,01011010001100001111101010000101001100110011100101101011111100*107=100101101, 00010011011111101010000101001100110011100101101011111100=301,78

Соседние файлы в предмете Алгоритмические языки и основы программирования