Информатика и технология программирования

Помощь юриста задать вопрос юристу бесплатно. Услуги юриста.

Числа с плавающей точкой


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

.


p 2
X = m * 10, например 25.4 = 0.254 * 10

где 0.1 m &#60 1 &#60/b -значащая часть числа, приведенная к интервалу 0.1 ... 1 , называемая мантиссой, a p -целое число, называемое порядком. Аналогично, если взять основание степени -2, то получим:

.


p 5
X = m * 2, например 25.4 = 0.79375 * 2

где 0.5 m &#60 &#60/b 1 -мантисса, a p -двоичный порядок. Тогда в двоичной системе число с плавающей точкой можно представить с использованием двух целых чисел со знаком ( m и p ), причем p -обычное, а m -представление дробной части, в которой десятичная точка считается расположенной после знакового разряда числа. Не вдаваясь в дальнейшие подробности, заметим, что любую арифметическую операцию над числами с плавающей точкой можно разложить в последовательность действий (алгоритм) над этими парами машинных слов и реализовать как программно, так и на аппаратном уровне.

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

Вещественные константы могут содержать как дробную часть с десятичной точкой, так и показатель степени. Символ перед показателем степени определяет точность константы (E,e -для double, F,f -для float, L,l -для long double ):

.


0.4 .665 3.1415926 1.17e2 -176E-3 1.1F5 3.33L




Начало  Назад  Вперед



Книжный магазин