# Real

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

real is a standard type of the Pascal programming language.

## usage

Floating-point literals can be assigned to real variables.

1. program realDemo(input, output, stderr);
2. 
3. var
4. 	r: real;
5. 
6. begin
7. 	r := 0.; // r becomes zero
8. 	writeLn(r, ' ', r:8:4);
9. 
10. 	r := 1e2; // r becomes 1*(10^2) [a hundred]
11. 	writeLn(r, ' ', r:8:4);
12. 
13. 	r := r / r; // r becomes one
14. 	writeLn(r, ' ', r:8:4);
15. end.

Note, that the result of the /-division can be assigned.

## internal representation

The internal representation of the type real (i.e. number of bytes and byte ordering) and the resulting range and precision are platform dependent.

Quote from the “FreePascal Programmer's Manual” (Chapter 8.2.5 Floating point types):

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.

## alternatives

Instead of specifying real in your code, write valReal, a type alias defined by the system unit. It automatically maps to the largest available floating point type available.