Table 33 Size differences between HP Fortran and C data types
HP Fortran data types |
| C data types |
| |
|
|
|
| |
| Sizes (in bits) | |||
|
| |||
|
|
|
|
|
INTEGER | intor long |
| int | 32 |
|
|
|
|
|
INTEGER*4 | intor long |
| int | 32 |
|
|
|
|
|
INTEGER*8 | longlong |
| longor long long | 64 |
|
|
|
|
|
REAL | float |
| float | 32 |
|
|
|
|
|
DOUBLE PRECISION | double |
| double | 64 |
|
|
|
|
|
REAL*16 | long double |
| long double | 128 |
|
|
|
|
|
Table 34 Size differences after compiling with +autodbl
HP Fortran data types |
| C data types |
| |
|
|
|
| |
| Sizes (in bits) | |||
|
| |||
|
|
|
|
|
INTEGER | longor long |
| long | 64 |
|
|
|
|
|
INTEGER*4 | intor long |
| int | 32 |
|
|
|
|
|
INTEGER*8 | longlong |
| long | 64 |
|
|
|
|
|
REAL | float |
| float | 64 |
|
|
|
|
|
DOUBLE PRECISION | long double |
| long double | 128 |
|
|
|
|
|
REAL*16 | long double |
| long double | 128 |
|
|
|
|
|
The following sections provide more detailed information about language differences for the following data types:
•Unsigned integers
•Logicals
•Complex numbers
•Derived types
Unsigned integersUnlike Fortran, C allows integer data types (char,int,short, and long) to be declared as either signed or unsigned. If a Fortran program passes a signed integer to a C function that expects an unsigned integer argument, C will interpret the bit pattern as an unsigned value.
An unsigned integer in C can represent twice the number of positive values as the
C uses integers for logical types. In HP Fortran, a
Data types 111