Типы данных с плавающей точкой



В языке C++, как и в стандарте ANSI С, имеется три типа данных с плавающей точкой: float , double и long double . Данные этих типов характеризуются числом зна­чащих цифр, которые они могут иметь, и минимально допустимым диапазоном значений экспоненты. Знача­щие цифры — это цифры, определяющие значение чис­ла. Например, когда высота горы Шаста (Shasta) в Ка­лифорнии записывается в таком виде: 14162 фута, — то при этом используется пять значащих цифр, так как высота указывается с точностью до фута. Но когда пи­шут, что высота горы Шаста равна приблизительно 14000 футов, то при этом используются две значащие цифры, так как высота округлена до тысяч футов. В этом случае три оставшиеся цифры являются просто заполнителями разрядов числа. Количество значащих цифр не зависит от положения десятичной точки. Например, можно на­писать, что высота равна 14162 футов. Здесь опять ис­пользуется пять значащих цифр, так как высота указы­вается с точностью до 5-й цифры. Рассмотрим, как в программе используется метод setf () из класса ostream .

cout.setf(ios_base::fixed,  ios_base::float_field);

Данный конкретный вызов метода приводит к тому, что выходные данные имеют формат с фиксированной точкой, что лучше иллюстрирует задан­ную точность данных. При этом предотвращается вывод больших чисел в экспоненциальной записи и обеспечи­вается отображение шести цифр после десятичной точ­ки. Аргументы ios_base::fixed и ios_base::float_field явля­ются константами, которые становятся доступными для программы путем включения файла iostream

 

В классе ostream , к которому принадлежит объект cout , имеются функции-элементы класса, которые по­зволяют полностью форматировать выходные данные — устанавливать ширину полей, число знаков справа от десятичной точки, форму записи (десятичная или экс­поненциальная) и т.д.

Константы с плавающей точкой

Когда вы используете в программе константу с плаваю­щей точкой, в каком формате она будет храниться в компьютере? По умолчанию константы с плавающей точкой, например 8.24 и 2.4Е8, будут иметь тип данных double . Если вам требуется константа типа float , добавь­те к ней суффикс Гили F. Чтобы тип константы был long double , добавьте суффикс 1 или L.

1.234f //константа типа     float

2.45E20F    //константа типа    float

2.345324Е28 //константа типа double

2. 2L            //константа типа    long double


Дата добавления: 2022-01-22; просмотров: 13; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!