BIGINT 数据类型是独立于机器的方法,用于表示范围从 -263-1 到 263-1 的数字。ESQL/C 提供了一些例程,可以很方便地将 BIGINT 数据类型转换为 C 语言中的其它数据类型。
BIGINT 数据类型在内部由 ifx_int8_t 结构表示。有关结构的信息可在头文件 int8.h 中找到,该头文件包括在 ESQL/C 产品中。将此文件加入使用任何 BIGINT 函数的所有 C 源文件中。
针对 int8 类型数字的所有操作必须使用对应 int8 数据类型的下列 ESQL/C 库函数来执行。任何其它操作、修改或分析可能会产生不可预测的结果。ESQL/C 库提供下列函数,它们允许您处理 int8 数字并将 int8 类型的数字转换为其它数据类型或从其它数据类型转换为 int8 类型。
函数名 | 描述 |
---|---|
ifx_int8add( ) | 加上两个 BIGINT 类型值 |
ifx_int8cmp( ) | 比较两个 BIGINT 类型数字 |
ifx_int8copy( ) | 复制 ifx_int8_t 结构 |
ifx_int8cvasc( ) | 将 C char 类型值转换为 BIGINT 类型数字 |
ifx_int8cvdbl( ) | 将 C double 类型数字转换为 BIGINT 类型数字 |
ifx_int8cvdec( ) | 将 decimal 类型值转换为 BIGINT 类型值 |
ifx_int8cvflt( ) | 将 C float 类型值转换为 BIGINT 类型值 |
ifx_int8cvint( ) | 将 C int 类型数字转换为 BIGINT 类型数字 |
ifx_int8cvlong( ) | 将 C long(在 64 位机器上为 int)类型值转换为 BIGINT 类型值 |
ifx_int8cvlong_long( ) | 将 C long long 类型(8 字节值,在 32 位系统上为 long long,在 64 位系统上为 long)值转换为 BIGINT 类型值 |
ifx_int8div( ) | 除以两个 BIGINT 数字 |
ifx_int8mul( ) | 乘以两个 BIGINT 数字 |
ifx_int8sub( ) | 减去两个 BIGINT 数字 |
ifx_int8toasc( ) | 将 BIGINT 类型值转换为 C char 类型值 |
ifx_int8todbl( ) | 将 BIGINT 类型值转换为 C double 类型值 |
ifx_int8todec( ) | 将 BIGINT 类型数字转换为 decimal 类型数字 |
ifx_int8toflt( ) | 将 BIGINT 类型数字转换为 C float 类型数字 |
ifx_int8toint( ) | 将 BIGINT 类型值转换为 C int 类型值 |
ifx_int8tolong( ) | 将 BIGINT 类型值转换为 C long(在 64 位机器上为 int)类型值 |
ifx_int8tolong_long( ) | 将 C long long(在 64 位机器上为 long)类型值转换为 BIGINT 类型值 |
相关参考
有关各个函数的更多信息,请参阅以下
IBM Informix ESQL/C Programmer’s Manual。