Real/ru

From Free Pascal wiki
Jump to navigationJump to search

Deutsch (de) English (en) français (fr) русский (ru)

Тип real является стандартным типом данных языка программирования Pascal. Он применяется для представления вещественных чисел, которые могут состоять из десятичной точки и экспоненты, в отличие от типа Integer, который используется для представления целых чисел.

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

Цитата из Руководства программиста по FreePascal (параграф 8.2.5 Типы с плавающей точкой):

Contrary to Turbo Pascal, where the real type had a special internal format, under Free Pascal the
real type simply maps to one of the other real types. It maps to the double type on processors
which support floating point operations, while it maps to the single type on processors which do
not support floating point operations in hardware.

Таким образом, наиболее общим представлением является double (8 байт, 64 бита), состоящим из 1 знакового бита, 11 бит экспоненты и 52 бит мантиссы. Диапазон значений чисел получается от самого большого положительного до самого маленького отрицательного числа: ±1.7976931348623157×10308. Наименьшее положительное ненулевое и наибольшее отрицательное ненулевое числа равны, соответственно: ±2.2250738585072020×10−308. 52 бита мантиссы обеспечивают точность в 15 десятичных знаков после точки.

Более подробное описание чисел с плавающей точкой дается на странице wikipedia - floating point numbers и IEEE 754 .

Типы данных
Простые типы Boolean | Byte | Cardinal | Char | Currency | Extended | Int64 | Integer | Longint | Pointer | Real | Shortint | Smallint | Word
Сложные типы Array | Class | Record | Set | String | Shortstring