6855

Сложение чисел в компьютерах с фиксированной запятой

Лабораторная работа

Информатика, кибернетика и программирование

Сложение чисел в компьютерах с фиксированной запятой В лабораторном задании даны числа. Для получения отображений чисел в памяти компьютера потребуется - 7 разрядов для целой части числа...

Русский

2013-01-08

80 KB

5 чел.

Сложение чисел в компьютерах с фиксированной запятой

В лабораторном задании даны числа А=−14,5078125;  Б=43,5234375;  В=−58,03125;   Г=−5,25.

Представим числа А,Б,В в двоичной системе счисления:

А1=−1110,1011001;   Б1=101011,1000011;  В1=− 111010,00001.

Для получения отображений чисел в памяти компьютера потребуется – 7 разрядов для целой части числа, 7 разрядов – для дробной части числа и 1 разряд для знака числа. Всего 15 разрядов, где старший разряд – знаковый.

Изображение чисел в памяти компьютера в прямом коде:

[А]пр=1001110,10110012;

[Б]пр= 0101011,10000112;

[В]пр=1111010,00001002.

Изображение заданных чисел в прямом коде в десятичной системе счисления:

[А]пр=114, 5078125;

[Б]пр =043, 5234375;

[В]пр=158, 0312500.

Модель сложения чисел А и Б в прямом коде:

В двоичной системе

счисления

В десятичной системе счисления

[Б]пр

0101011,1000011

[Б]пр

043, 5234375

[А]пр

1001110,1011001

[А]пр

114, 5078125

[А+Б]пр

0100101,0011010

[А+Б]пр

029, 0156250

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

[А+Б]пр=0100101,00110102

Модель сложения чисел А,Б и В в прямом коде:

В двоичной системе

счисления

В десятичной системе счисления

[В]пр

1111010,0000100

[В]пр

158, 0312500

[А+Б]пр

0100101,0011010

[А+Б]пр

029, 0156250

[А+Б+В]пр

1101101,0011010

[А+Б+В]пр

129, 0156250

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

[А+Б+В]пр=1101101,00110102

Переполнения разрядной сетки не было.

Изображение заданных чисел в дополнительном коде:

В двоичной системе счисления

В десятичной системе счисления

[А]доп

1110001,0100111

[А] доп

1956,4765625

[Б] доп

   0010100,0111101

[Б] доп

0043, 5234375

[В] доп

1000101,1111100

[В] доп

1941,9687500

Сложение чисел А,Б и В в дополнительном коде:

В двоичной системе счисления

В десятичной системе счисления

[А]доп

1110001,0100111

[А]доп

1956, 4765625

[Б]доп

0010100,0111101

[Б] доп

0043, 5234375

[А+Б]доп

0100101,0100000

[А+Б] доп

0029, 0156250

[В]доп

1000101,1111100

[В] доп

1941, 9687500

[А+Б+В]доп

1101001,0011100

[А+Б+В] доп

1959, 1093750

Преобразование результатов суммирования в прямой код:

В двоичной системе счисления

В десятичной системе счисления

[А+Б]

[А+Б+В]

[А+Б]

[А+Б+В]

Дополнительный код

0100101,0100000

1101001,0011100

0040,8906250

1959,1093750

Прямой код

0100101,0011010

1101101,0011010

0029,0156250

1029,0156250

Представление чисел в памяти компьютера будет иметь вид:

Представление в разрядной сетке

Перевод в десятичный вид

[А]пр

1,0011101011001

−(2-3+2-5+2-10+2-14) ∙27=−14,5078125

[Б]пр

0,1010111000011

(2-2+2-3+2-4+2-5+2-7+2-10+

+2-11+2-13+2-14)∙27=43,5234375

[В]пр

1,1110100000100

−(2-1+2-3+2-7+2-8+2-9

+2-12) ∙27=−58,03125

[А+Б]пр

0,1001010100000

(2-2+2-4+2-7+2-11+2-13)∙27=

29, 0156250

[А+Б+В]пр

1,1010010011100

−(2-2+2-4+2-8+2-10+2-11+

2-13)∙27=−29, 0156250

Сложение чисел А и Г в модифицированном дополнительном коде в восьмиразрядной сетке:

Размещение чисел в восьмиразрядной сетке:

Представление числа

Представление числа в разрядной сетке

[А]пр

1001110,1011001

1001110,1

[Г]пр

1000101,0100000

1000101,0

С учетом двух знаковых разрядов кода получим изображение:

[А]мдоп

1001110,1

[Г] мдоп

1000101,0

[А+Г] мдоп

0010011,1

Сочетание “10” в знаковых разрядах является признаком переполнения разрядной сетки. Поэтому размещение чисел в разрядной сетке является некорректным.  

Коррекция размещения чисел в восьмиразрядной сетке:

Представление числа

Представление числа в разрядной сетке

[А]пр

1001110,1011001

1001110,

[Г]пр

1000101,0100000

1000101,

С учетом двух знаковых разрядов кода получим изображение:

[А] мдоп

1001110,

[Г] мдоп

1000101,

[А+Г] мдоп

0010011,

Получено значение суммы: 00100112=1910.

Определение погрешности вычислений:

Точное значение суммы А и Г:

−14,5078125+(−5,25)= -19,7578125.

Абсолютная погрешность вычислений:

∆=-19,7578125+19= -0,7578125;

Относительная погрешность вычислений:

или 3,8%.