您的位置:首页 > 编程语言 > C语言/C++

long long C/C++的64位整型 不同编译器间的比较

2013-03-26 19:31 330 查看


C/C++的64位整型 不同编译器间的比较[ZZ]

如果服务器是linux系统,那么定义用long long,IO用%lld

如果服务器是win系统,那么声明要针对编译器而定:

+ 如果用MS系列编译器,声明用__int64 [现在新版的Visual Studio也支持long long了]

+ 如果用MinGW环境,声明用long long

+ 无论什么编译器,IO一律%I64d

变量定义输出方式gcc(mingw32)g++(mingw32)gcc(linux i386)g++(linux i386)MicrosoftVisual C++ 6.0
long long“%lld”错误错误正确正确无法编译
long long“%I64d”正确正确错误错误无法编译
__int64“lld”错误错误无法编译无法编译错误
__int64“%I64d”正确正确无法编译无法编译正确
long longcout非C++正确非C++正确无法编译
__int64cout非C++正确非C++无法编译无法编译
long longprintint64()正确正确正确正确无法编译
一种通用的输出方式:

void printint64(long long a) {  if (a<=100000000)   printf("%d\n",a);  else  {   printf("%d",a/100000000);   printf("%08d\n",a%100000000);  } }


/article/2987430.html

注意:long long 和 unsigned long long 是 C99 特有的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: