# convert

Specifies the format of unformatted files containing numeric data.

## Syntax

Linux: | -convert keyword

macOS: | -convert keyword

Windows: | /convert:keyword

## Arguments

keyword | Specifies the format for the unformatted numeric data. Possible values are:
native | Specifies that unformatted data should not be converted.
big_endian | Specifies that the format will be big endian for integer data and big endian IEEE floating-point for real and complex data.
cray | Specifies that the format will be big endian for integer data and CRAY* floating-point for real and complex data.
fdx (Linux*, macOS) | Specifies that the format will be little endian for integer data, and VAX processor floating-point format F_floating, D_floating, and IEEE binary128 for real and complex data.
fgx (Linux, macOS) | Specifies that the format will be little endian for integer data, and VAX processor floating-point format F_floating, G_floating, and IEEE binary128 for real and complex data.
ibm | Specifies that the format will be big endian for integer data and IBM* System\370 floating-point format for real and complex data.
little_endian | Specifies that the format will be little endian for integer data and little endian IEEE floating-point for real and complex data.
vaxd | Specifies that the format will be little endian for integer data, and VAX* processor floating-point format F_floating, D_floating, and H_floating for real and complex data.
vaxg | Specifies that the format will be little endian for integer data, and VAX processor floating-point format F_floating, G_floating, and H_floating for real and complex data.

## Default

convert native | No conversion is performed on unformatted files containing numeric data.

## Description

This option specifies the format of unformatted files containing numeric data.

Option | Description
--- | ---
convert native | Specifies that unformatted data should not be converted.
convert big_endian | Specifies that the format will be big endian for INTEGER*1, INTEGER*2, INTEGER*4, or INTEGER*8, and big endian IEEE floating-point for REAL*4, REAL*8, REAL*16, COMPLEX*8, COMPLEX*16, or COMPLEX*32.
convert cray | Specifies that the format will be big endian for INTEGER*1, INTEGER*2, INTEGER*4, or INTEGER*8, and CRAY* floating-point for REAL*8 or COMPLEX*16.
convert fdx | Specifies that the format will be little endian for INTEGER*1, INTEGER*2, INTEGER*4, or INTEGER*8, and VAX processor floating-point format F_floating for REAL*4 or COMPLEX*8, D_floating for REAL*8 or COMPLEX*16, and IEEE binary128 for REAL*16 or COMPLEX*32.
convert fgx | Specifies that the format will be little endian for INTEGER*1, INTEGER*2, INTEGER*4, or INTEGER*8, and VAX processor floating-point format F_floating for REAL*4 or COMPLEX*8, G_floating for REAL*8 or COMPLEX*16, and IEEE binary128 for REAL*16 or COMPLEX*32.
convert ibm | Specifies that the format will be big endian for INTEGER*1, INTEGER*2, or INTEGER*4, and IBM* System\370 floating-point format for REAL*4 or COMPLEX*8 (IBM short 4) and REAL*8 or COMPLEX*16 (IBM long 8).
convert little_endian | Specifies that the format will be little endian for INTEGER*1, INTEGER*2, INTEGER*4, or INTEGER*8 and little endian IEEE floating-point for REAL*4, REAL*8, REAL*16, COMPLEX*8, COMPLEX*16, or COMPLEX*32.
convert vaxd | Specifies that the format will be little endian for INTEGER*1, INTEGER*2, INTEGER*4, or INTEGER*8, and VAX processor floating-point format F_floating for REAL*4 or COMPLEX*8, D_floating for REAL*8 or COMPLEX*16, and H_floating for REAL*16 or COMPLEX*32.
convert vaxg | Specifies that the format will be little endian for INTEGER*1, INTEGER*2, INTEGER*4, or INTEGER*8, and VAX processor floating-point format F_floating for REAL*4 or COMPLEX*8, G_floating for REAL*8 or COMPLEX*16, and H_floating for REAL*16 or COMPLEX*32.

Non-native data conversion works on scalars and arrays of intrinsic types: INTEGER*1, INTEGER*2, INTEGER*4, INTEGER*8, including LOGICAL*1, LOGICAL*2, LOGICAL*4, LOGICAL*8, and REAL*4, REAL*8, REAL*16, including COMPLEX*8, COMPLEX*16, and COMPLEX*32. Conversion does not work inside defined type records on their individual fields. For example:

    type REC
       integer(8) :: K
       real(8)    :: X
    end type REC

    type (REC) :: R

    write (17) R%K, R%X    ! conversion will work on these objects
    write (17) R           ! conversion will not work on the fields of this object

## IDE Equivalent

Visual Studio: Compatibility > Unformatted File Conversion

## Alternate Options

None

Parent topic: Data Options