$x = ( -95.3009707988281 + -95.1877600585938 ) / 2; $h = uc unpack 'H*', reverse pack 'd', $x; printf("%s\n%.16e\n%s\n", $h, $x, $x); #### # MS cl, Windows, x86 C057CFA3AEE5258A -9.5244365428710950e+001 -95.244365428711 # gcc, linux, x86 C057CFA3AEE5258A -9.5244365428710950e+01 -95.2443654287109