Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Инфрм отв.rtf
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
11.08 Mб
Скачать

Знак числа в дополнительном коде

В дополнительном коде числа, строго говоря, отсутствует отдельный разряд знака. То, что все отрицательные числа, представленные в дополнительном коде, имеют единицу в старшем разряде, а положительные числа -- имеют в старшем разряде ноль, является только свойством дополнительного кода. Не должно вводить в заблуждение и употребляемое определение старшего разряда как "знакового". На самом деле, знак и "абсолютная величина" в дополнительном коде связаны воедино и неразделимы.

Это понимание особенно важно при преобразовании числа со знаком, представленного, например, в одном байте (ShortInt) в двухбайтовый формат (Integer):

Исходное число ShortInt, равное минус 38 , представленное в одном байте:

1

1

0

1

1

0

1

0

Правильно преобразованное в двухбайтовый формат представление того же самого числа "минус 38" в двухбайтовом формате (Integer):

старший байт

младший байт

1

1

1

1

1

1

1

1

1

1

0

1

1

0

1

0

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

  1. Число́ одина́рной то́чности (англ. Single precisionSingle) — широко распространенный компьютерный формат представления вещественных чисел, занимающий в памяти 32 бита(4 байта). Как правило, под ним понимают формат числа с плавающей запятой стандарта IEEE 754.

Числа одинарной точности с плавающей запятой обеспечивают относительную точность 7-8 десятичных цифр в диапазоне от   до примерно 

В современных компьютерах вычисления с числами с плавающей запятой поддерживаются аппаратным сопроцессором (FPU — Floating Point Unit). Однако во многих вычислительных архитектурах нет аппаратной поддержки чисел с плавающей запятой и тогда работа с ними осуществляется программно.

Знак

Экспонента

Мантисса

0

0

1

1

1

1

1

0

0

0

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

 = 0,15625

31

24

23

16

15

8

7

0

Для вычисления показателя степени из восьмиразрядного поля экспоненты вычитается смещение экспоненты равное 12710 = 7F16 = 011111112, (то есть, 011111002 - 011111112 = 12410 - 12710 = -310). Так как в нормализованной двоичной мантиссе целая часть всегда равна единице, то в поле мантиссы записывается только её дробная часть. Для вычисления мантиссы к единице добавляется дробная часть мантиссы из 23-х разрядного поля дробной части мантиссы 1,010000000000000000000002. Число равно произведению мантиссы со знаком на двойку в степени экспоненты = 1,012*210-310 = 1012*210-510 = 510*210-510 = 0,1562510.