From: http://blog.csdn.net/zzqhost/article/details/6064886

关于printf函数输出64位数的问题,其实在window下和linux下是不一样的:

linux下是

printf("%lld/n",a);

printf("%llu/n",a);

windows下是

printf("%I64d/n",a);

printf("%I64u/n",a);

完整程序如下:

  1. [zcm@c #51]$cat a.c
  2. // linux平台C程序
  3. #include <stdio.h>
  4. typedef unsigned long long int64;
  5. typedef unsigned long long uint64;
  6. int main ( void )
  7. {
  8. int64    c = 0x123456789LL;        // 有符号
  9. uint64    uc = 0x123456789ULL;    // 无符号
  10. printf("%lld, %llu\n", c, uc);    // 整数形式输出
  11. printf("%llx, %llx\n", c, uc);    // 十六进制格式输出
  12. printf("%#llx, %#llx\n", c, uc);// 带0x的十六进制格式输出
  13. return 0;
  14. }
  15. [zcm@c #53]$make
  16. gcc -g -O2 -o a a.c
  17. [zcm@c #54]$./a
  18. 4886718345, 4886718345
  19. 123456789, 123456789
  20. 0x123456789, 0x123456789
  21. [zcm@c #55]$
[zcm@c #51]$cat a.c
// linux平台C程序 #include <stdio.h> typedef unsigned long long int64;
typedef unsigned long long uint64; int main ( void )
{
    int64    c = 0x123456789LL;        // 有符号
    uint64    uc = 0x123456789ULL;    // 无符号     printf("%lld, %llu\n", c, uc);    // 整数形式输出
    printf("%llx, %llx\n", c, uc);    // 十六进制格式输出
    printf("%#llx, %#llx\n", c, uc);// 带0x的十六进制格式输出     return 0;
}
[zcm@c #53]$make
gcc -g -O2 -o a a.c
[zcm@c #54]$./a
4886718345, 4886718345
123456789, 123456789
0x123456789, 0x123456789
[zcm@c #55]$

jpg改rar

printf如何输出64位整数的更多相关文章

  1. 跨平台(32bit和64bit)的 printf 格式符 %lld 输出64位的解决方式

    问题描述 在 C/C++ 开发中,使用 printf 打印 64 位变量比较常用,通常在 32 位系统中使用 %lld 输出 64 位的变量,而在 64 位系统中则使用 %ld: 如果在 32 位系统 ...

  2. C++的64位整数

    在做ACM题时,经常都会遇到一些比较大的整数.而常用的内置整数类型常常显得太小了:其中long 和 int 范围是[-2^31,2^31),即-2147483648~2147483647.而unsig ...

  3. CH 0101 - a^b / CH 0102 - 64位整数乘法 - [快速幂和快速乘]

    0101 a^b 题目链接:传送门 描述 求 a 的 b 次方对 p 取模的值,其中 1≤a,b,p≤10^9 输入格式 三个用空格隔开的整数 a,b 和 p. 输出格式 一个整数,表示 a^b mo ...

  4. CH0101 a^b、 CH0102 64位整数乘法(快速幂、快速乘)【模板题】

    题目链接:传送门    //a^b   传送门    //64位整数乘法 题目: 描述 求 a 的 b 次方对 p 取模的值,其中 ≤a,b,p≤^ 输入格式 三个用空格隔开的整数a,b和p. 输出格 ...

  5. CH0101 a^b & CH0102 64位整数乘法

    大数取模的两道题. 虐狗宝典学习笔记: 两个数值执行算术运算时,以参与运算的最高数值类型为基准,与保存结果的变量类型无关.两个32位整数的成绩可能超过int类型的表示范围,但是CPU只会用一个32位寄 ...

  6. C/C++中的64位整数

    C/C++中的64位整数(__int64 and long long) 在做ACM题时,经常都会遇到一些比较大的整数.而常用的内置整数类型常常显得太小了:其中long 和 int 范围是[-2^31, ...

  7. windows 64位整数

    #include <iostream> #include <ctime> using namespace std; int main() { cout << cou ...

  8. C对64位整数类型的支持

    在使用C语言过程中可能需要接触长整数类型,其中包括固定长度数据类型的声明.输入输出函数的标志符等细节,在此记录. int64_t 与 uint64_t C的标准只规定特定数据类型需要实现的最小长度,特 ...

  9. CH0102 64位整数乘法 数论

    正解:数论/一个神仙想法 解题报告: 先放传送门qwq 两种方法,都还挺妙的就都写了qwq 第一种是快速幂 把b用二进制表示成,ck*2k+ck-1*2k-1+...+c0*20 然后就可以表示成,a ...

随机推荐

  1. Maven学习之(三)Maven插件创建web项目

    这里来记录一下用eclipse 创建maven 的web项目. 添加jar依赖. <project xmlns="http://maven.apache.org/POM/4.0.0&q ...

  2. u-boot bootz 加载kernel 流程分析

    u-boot 加载 kernel 的流程分析. image重要结构体头文件 // include/image.h * * Legacy and FIT format headers used by d ...

  3. C10K并发连接_转

    转载:http://blog.csdn.net/wangtaomtk/article/details/51811011 1 C10K问题 大家都知道互联网的基础就是网络通信,早期的互联网可以说是一个小 ...

  4. EMC检测标准

  5. hdu2222 KeyWords Search AC自动机入门题

    /** 链接:http://acm.hdu.edu.cn/showproblem.php?pid=2222 题意:题意:给定N(N <= 10000)个长度不大于50的模式串,再给定一个长度为L ...

  6. Windows下进程通信方式

    当线程分属于不同进程,也就是分驻在不同的地址空间时,它们之间的通讯需要跨越地址空间的边界,便得采取一些与同一进程中不同线程间通讯不同的方法.在Windows程序中,各个进程之间常常需要交换数据,进行数 ...

  7. Deep Reinforcement Learning from Self-Play in Imperfect-Information Games

    Heinrich, Johannes, and David Silver. "Deep reinforcement learning from self-play in imperfect- ...

  8. 【转】【OPenGL】OPenGL 画图板-- 中点算法画圆

    为了能以任意点为圆心画圆,我们可以把圆心先设为视点(相当于于将其平移到坐标原点),然后通过中点法扫描转换后,再恢复原来的视点(相当于将圆心平移回原来的位置). 圆心位于原点的圆有四条对称轴x=0,y= ...

  9. try except 异常处理

    1.捕获指定异常 2.捕获所有异常

  10. Android多线程任务的优化1:AsyncTask的缺陷 (转至 http://www.linuxidc.com/Linux/2011-09/43150.htm)

    导语:在开发Android应用的过程中,我们需要时刻注意保障应用的稳定性和界面响应性,因为不稳定或者响应速度慢的应用将会给用户带来非常差的交互体验.在越来越讲究用户体验的大环境下,用户也许会因为应用的 ...