zoukankan      html  css  js  c++  java
  • 关于不同平台、环境下64位int型的输入输出方式(转)

    C语言 64位int 定义方式:

    Linux: long long         Windows:__int64

    C语言 64位int 输出方式:

    Linux: "%lld"              Windows:"%I64d"

    C++ 64位int 定义方式:

    Linux: long long          Windows:__int64

    C++ 64位int 输出方式:

    Linux: "%lld",  cout      Windows:"%I64d",  cout

    下表是以上2种定义方式、3种输出方式在5种编译环境下的运行情况:

    (其中gcc是C语言编译器,g++是C++编译器)

    (表格转自:https://blog.csdn.net/Thunders01/article/details/38879553)

    变量定义输出方式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 long cout 非C++ 正确 非C++ 正确 无法编译
    __int64 cout 非C++ 正确 非C++ 无法编译 无法编译

    可以看出,对于64位int型:

    1. Linux环境下,定义方式只支持 long long,输出方式只支持 "%lld"(C++还支持 cout

    2. Windows环境下,对于VC编译器,定义方式只支持 __int64,输出方式只支持 "%I64d"

    3. Windows环境下,对于mingw编译器,定义方式 long long、__int64都支持,输出方式只支持"%I64d"(C++还支持 cout

    (注:mingw编译器全称是 “Minimalist GNUfor Windows”,是GNU在Windows环境下的扩展,因此编译环境更偏向Windows)

  • 相关阅读:
    2021NUAA暑假集训 Day3 题解
    2021NUAA暑假集训 Day2 题解
    2021NUAA暑期模拟赛部分题解
    CodeForces 1038D Slime
    UVA 11149 Power of Matrix
    UVA 10655 Contemplation! Algebra
    UVA 10689 Yet another Number Sequence
    HDU 4549 M斐波那契数列
    HDU 4990 Reading comprehension
    CodeForces 450B Jzzhu and Sequences
  • 原文地址:https://www.cnblogs.com/wkxnk/p/13591137.html
Copyright © 2011-2022 走看看