Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практическая работа №2. Выполнение арифметических операций в двоичной системе счисления..docx
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
44 Кб
Скачать
☆

Арифметика повышенной точности

При работе с микропроцессором часто выясняется, что длина слов, которыми он оперирует, недостаточна для достижения определенной точности вычислений. Так восьмиразрядный МП позволяет использовать числа в диапазоне от -128 до +127,что конечно недостаточно. Используя два восьмибитовых слова, мы можем обрабатывать числа в диапазоне от -32768 до +32767. Для решения многих задач двойной точности вполне достаточно. Повышая точность представления числа, нам требуется больше времени и памяти для их обработки, а также не решается проблема представления очень больших и очень малых чисел.

В настоящее время в составе программного обеспечения любой ЭВМ имеется пакет плавающей арифметики. Он оперирует с числами, представленными в виде чисел с плавающей точкой. Это достигается благодаря использованию представления десятичных дробей в нормализованном в виде, т.е. в виде мантиссы, значения которой простирается от 0,1 до 1 и порядка - показателя степени числа 10.

Например: 50 = 0.5 * 102

Представление числа в форме с плавающей точкой в 8 - разрядном МП (можно изобразить следующим образом):

1 байт

2 байт

3 байт

4 байт

\-------------------- мантисса (23 разряда) ------------------/

\ ------------ знак мантиссы

\---- порядок (7 разрядов)

\------ знак порядка

Числа представленные в таком виде имеют достаточный диапазон, приемлемый для решения широкого круга задач по вычислениям и управлению объектами. Но, за все надо платить, в данном случае платить за точность приходится быстродействием.

Плавающее число, представленное с двойной точностью, занимает 8 байт

Вычисления в плавающей арифметике выполняются достаточно долго.

Тип переменной

Диапазон представляемых значений

положительного числа

числа со знаком

символьная – 1 байт

0 ÷ 255

–128 ÷ 127

целая – 2 байта

0 ÷ 65,535

–32,768 ÷ 32,767

длинная целая – 4 байта

0 ÷ 4,294,967,295

–2,147,483,648 ÷ 2,147,483,647

“плавающая” – 4 байта

3.4  10 -38 ÷ 3.4  10 38

“длинная плавающая” – 8 байт

1.7  10 -308 ÷ 1.7  10 308

Практическое задание.

  1. Выполнить простые действия над двоичными числами (каждый студент выбирает по три варианта):

вариант

Число 1

Число 2

1.

111100

0101

Сложение

010100

10101

Умножение

1100101

11

Деление

010010111

101010

Вычитание

1100110

1010

Сложение

0101101

10010

Умножение

01001000

11010

Деление

101001

0100

Вычитание

01001000

11010

Сложение

111100

0101

Умножение

1100101

111

Деление

1010101

1010

Вычитание

100010

11111111

Сложение

010010111

101010

Умножение

1100110

1010

Деление

0101101

10010

Вычитание

01001000

11010

Сложение

101001

0100

Умножение

01001000

11010

Деление

111100

0101

Вычитание

111100

0101

Сложение

1100101

111

Умножение

1010101

1010

Деление

100010

11111111

Вычитание

010010111

101010

Сложение

1100110

1010

Умножение

0101101

10010

Деление

1100101

11

Вычитание

010010111

101010

Сложение

1100110

1010

Умножение

  1. Выполнить арифметические действия с числами с плавающей запятой по вариантам (каждый студент выбирает себе по два варианта):

№ варианта

Числа с плавающей запятой

P = 2 x=1110011-1 y=101110

P = 2 x=1000001101 y=1110-11

P = 2 x=11001110 y=100111

P = 2 x=1001110-11 y=100-111

P = 2 x=1100100110 y=1001-100

P = 2 x=11000101-11 y=1001-10

P = 2 x=1011011-101 y=11110

P = 2 x=1110011111 y=101-101

P = 2 x=1110011-11 y=110-10

P = 2 x=11001100111 y=11111