printf如何輸出64位整數
關于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*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。






![MSP430 單片機外圍模塊 - LCD [利爾達]](http://editerupload.eepw.com.cn/201003/7f85595d927a638df33d1097899d5600.jpg)



