PROGRAM CHKEND ! This file: http://ftp.aset.psu.edu/pub/ger/fortran/hdk/endian.f90 ! ! by Code Tuning co-guide, 1998 Lahey Fortran Users' Conference ! Check what endian this program is running on. ! ------------------------------------------------------------------ INTEGER(4) I, ASCII_0, ASCII_1, ASCII_2, ASCII_3 ! ------------------------------------------------------------------ PARAMETER(ASCII_0 = 48, ASCII_1 = 49, & ASCII_2 = 50, ASCII_3 = 51) ! ------------------------------------------------------------------ COMMON // I ! ------------------------------------------------------------------ I = ASCII_0 + ASCII_1*256 + ASCII_2*(256**2) + ASCII_3*(256**3) CALL SUB() ! ------------------------------------------------------------------ END SUBROUTINE SUB() ! ------------------------------------------------------------------ CHARACTER(4) I ! ------------------------------------------------------------------ COMMON // I ! ------------------------------------------------------------------ WRITE(*,*) ' Integer structure: ', I WRITE(*,*) ' Byte order: ', '0123' WRITE(*,*) ! ------------------------------------------------------------------ IF (I == '0123') THEN WRITE(*,*) ' Machine is Little-Endian ' RETURN ENDIF ! ------------------------------------------------------------------ IF (I == '3210') THEN WRITE(*,*) ' Machine is Big-Endian ' RETURN ENDIF ! ------------------------------------------------------------------ WRITE(*,*) ' Mixed endianity machine ... ' ! ------------------------------------------------------------------ RETURN END