> Before C the most common "under the hood" implementation > of logicals I came across was negative means .true. and positive > means .false. That's because almost all hardware had a conditional > branch based on the sign bit of an operand register. Yes, I remember that from my VAX FORTRAN days. Still the case with Fortran95 on ALPHA under VMS: $ type test.f90 PROGRAM TEST REAL :: X PRINT*, "false: ", TRANSFER((.FALSE.),(X)) PRINT*, "true: ", TRANSFER((.TRUE.),(X)) PRINT*, "-huge:", -HUGE(X) END PROGRAM TEST $ fortran test $ link test $ run test false: 0.0000000E+00 true: -1.7014117E+38 -huge: -1.7014117E+38