专栏中心

EEPW首页 > 专栏 > printf如何输出64位整数

printf如何输出64位整数

发布人:电子禅石 时间:2020-09-03 来源:工程师 发布文章

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

 

 linux下是

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

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

 

windows下是

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

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

 

完整程序如下:

[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]$


[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


专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

Microchip PIC18 Explorer开发板

实现高精度、快速建立大电流的方法

电网边缘的智能化和可见性

电源与新能源 2026-01-21

Microchip多媒体开发板

嵌入式CPU的演变和发展

视频 2012-04-28

新能源汽车无法上高压电故障案例

《EBD9200-I开发平台教程》- U-boot的移植及应用

Success Factors of a MCU Company

视频 2012-04-28

简单高效的一体化USB电源管理IC解决方案

《EBD9200-I开发平台教程》- ADS与JTAG调试

《EBD2410开发板说明书》第3章:其它资源介绍

《Windows CE常见问题解答精华》电子版

如何构建超低功耗精密高边电流检测电路?

ARM - The Architecture for The Digital World

视频 2012-04-28

从电源管理模块入手,助你实现高性能的PLL设计

《EBD2410开发板说明书》第2章:开发板硬件介绍

选择工业PHY时应考虑的几个重要标准

极端环境下MEMS传感器的冲击与振动问题

新能源汽车驱动电机异常故障诊断与排除

如何使用多相升压转换器

更多 培训课堂
更多 焦点
更多 视频

技术专区