| 2.1.6.9 convert_floating_by_format
 DescriptionConvert floating point by format.
 Syntaxbool convert_floating_by_format( LPVOID lpOutputBuff, LPVOID lpInputBuff, size_t nNumValues, FLOATING_POINT_TYPE nOutputFormatType, FLOATING_POINT_TYPE nInputFormatType ) Parameters lpOutputBuff[output] A pointer to the buffer that receives the convert value  lpInputBuff[input] A pointer to the buffer containing the data to convert  nNumValues[input] number of floating points nOutputFormatType[input] output format type. See FLOATING_POINT_TYPE nInputFormatType [input] input format type. See FLOATING_POINT_TYPE
 typedef enum
{
	FLOATING_POINT_TYPE_IEEE_FLOAT = 0,   // 32-bit
	FLOATING_POINT_TYPE_IEEE_DOUBLE,      // 64-bit
	FLOATING_POINT_TYPE_VAX_F,            // 32-bit, ~[-2.9E-39, 1.7E+38]
	FLOATING_POINT_TYPE_VAX_D,            // 64-bit, ~[-2.9E-39, 1.7E+38]
	FLOATING_POINT_TYPE_VAX_G,            // 64-bit, ~[-5.6E-309, 0.9E+308]
	// FLOATING_POINT_TYPE_VAX_H,         // 128-bit, NOT supported
	FLOATING_POINT_TYPE_IBM_SHORT,        // 32-bit
	FLOATING_POINT_TYPE_IBM_LONG,         // 64-bit
	FLOATING_POINT_TYPE_IBM_LONG_XPORT,   // 64-bit
} FLOATING_POINT_TYPE;
 Returntrue on success and false on failure.
 ExamplesEX1
 void convert_floating_by_format_vax()
{
	unsigned int a[] = {0x268bc2d9, 0x015dc2d9};
	double f1[2];
	bool bRet = convert_floating_by_format(f1, a, 2, FLOATING_POINT_TYPE_IEEE_DOUBLE, FLOATING_POINT_TYPE_VAX_F);
	
	printf("f1[0]=%f\n", f1[0]);
	printf("f1[1]=%f\n", f1[1]);
	
	return;
}RemarkSee AlsoHeader to Includeorigin.h
 Reference |