向大家求助
在limits.h下数据类型没有int64的类型,下面是一个自己定义一个int64类型的程序,里面有些不懂的地方向大家请教。谢谢大家#include <stdint.h>
#include <limits.h>
#if (UINT_MAX != 0xFFFF) //UINT_MAX的意思是unsigned 整形最大值的意思吗?这里做这个选择定义有什么意义?
//#warning size of int != 16 bit
#error size of int != 16 bit
#else
#define TYPE_INT64
#endif
uint8_t u8;
uint16_t u16;
uint32_t u32;
#ifdef TYPE_INT64
uint64_t u64;
#endif
int main()
{
volatile unsigned int s8, s16, s32, uintmax;//这里为什么用volatile定义
#ifdef TYPE_INT64
volatile unsigned int s64;
#endif
uintmax = UINT_MAX;//这里的UINT_MAX的值应该是多少呢?
s8 = sizeof (u8);
s16= sizeof (u16);
s32= sizeof (u32);
#ifdef TYPE_INT64
s64= sizeof (u64);
#endif
}
[[it] 本帖最后由 都都 于 2008-7-28 04:59 编辑 [/it]]