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

 

В вычислительных машинах применяются две формы представления двоичных чисел:

· естественная форма или форма с фиксированной запятой(точкой);

· нормальная форма или форма с плавающей запятой(точкой).

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

Например: в десятичной системе счисления имеется 5 разрядов в целой части чи­сла (до запятой) и 5 разрядов в дробной части числа (после запятой); числа, запи­санные в такую разрядную сетку, имеют вид:

+00721,35500; +00000,000328; -10301,20260.

Эта форма наиболее проста, естественна, но имеет небольшой диапазон пред­ставления чисел и поэтому чаще всего не приемлема при вычислениях. Диапа­зон значащих чисел n всистеме счисления с основанием Р при наличии т раз­рядов в целой части и s разрядов в дробной части числа (без учета знака числа) будет:

P-sNPm P-s.

Например, при Р = 2, т = 10 и s = 6 числа изменяются в диапазоне:

0,015 <N < 1024.

Если в результате операции получится число, выходящее за допустимый диапа­зон, происходит переполнение разрядной сетки, и дальнейшие вычисления теря­ют смысл. В современных ЭВМ естественная форма представления исполь­зуется как вспомогательная и только для целых чисел.

В форме представления с плавающей запятойкаждое число изображается в виде двух групп цифр. Первая группа цифр называется мантиссой, вторая – порядком,причем абсолютная величина мантиссы должна быть меньше 1, а порядок – це­лым числом. В общем виде, число в форме с плавающей запятой может быть пред­ставлено так:

N = ±M·P±r,

где М – мантисса числа (|М| < 1 ); r – порядок числа (r –целое число); Р – основа­ние системы счисления. Например, приведенные ранее числа в нормальной форме запишутся так:

+0,721355·103; +0,328·10-3; -0,103012026·105.

Нормальная форма представления имеет огромный диапазон отображения чисел и является основной в современных компьютерах. Так, диапазон значащих чисел в системе счисления с основанием Р при наличии т разрядов у мантиссы и s разря­дов у порядка (без учета знаковых разрядов порядка и мантиссы) будет:

.

Пример. При Р = 2, m = 22 и s = 10 диапазон чисел простирается пример­но от 10-300 до 10300. Для сравнения: количество секунд, которые прошли с момента образования планеты Земля, составляет всего 1018.

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

 

Выполнение операций над числами с плавающей запятой

 

При сложении (вычитании)чисел с одинаковыми порядками их мантиссы складываются (вычитаются), а результату присваивается порядок, общий для исходных чисел. Если порядки исходных чисел разные, то сначала эти поряд­ки выравниваются (число с меньшим порядком приводится к числу с большим порядком), затем выполняется операция сложения (вычитания) порядков. Если при выполнении операции сложения мантисс возникает переполнение, то сумма мантисс сдвигается вправо на один разряд, а порядок суммы увеличивается на 1.

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

При делениичисла с плавающей запятой мантисса делимого делится на мантиссу делителя, а для получения порядка частного из порядка делимого вычитается поря­док делителя. При этом если мантисса делимого больше мантиссы делителя, то мантисса частного окажется больше 1 (происходит переполнение) и ее следует сдви­нуть на один разряд вправо, одновременно увеличив на единицу порядок частного.