64位整数情况如下:
类型名 | 字节数 | 别名 | 范围 |
__int64 | 8 | long long, signed long long | –9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 |
unsigned __int64 | 8 | unsigned long long | 0 to 18,446,744,073,709,551,615 |
在vs2008中提供了_atoi64和_i64toa的函数,这里是指_int64,而不是unsigned _int64,如果是带符号的,用前面的两个函数即可完成。如果是无符号的,将unsigned _int64转化为char*,可以使用sprintf,用法如下:
char temp[20];
unsigned _int64 a = 121222222222;
sprintf(temp,20,"%llu",a);
还有一种方法是使用函数_ui64toa_s 将unsigned _int64转化为char*, _strtoui64函数则可以将char* 转化为unsigned _int64。