【お知らせ】この部分は英語原文のみでの提供となります。何卒ご了承ください。
2.1.6.9 convert_floating_by_format
Contents
Description
Convert floating point by format.
Syntax
bool 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;
Return
true on success and false on failure.
Examples
EX1
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; }
Remark
See Also
Header to Include
origin.h