C/C++ 格式化输出( unsigned long long)
C/C++ unsigned long long 格式化输出的正确方式 💡
在 C/C++ 编程中,unsigned long long 类型用于存储 超大整数(通常为 64 位无符号整数)。
如果你需要在 printf 或 sprintf 中格式化输出 unsigned long long 变量,正确的格式化符号是 %llu;
⚠️ 注意事项:
%llu适用于printf、sprintf等标准格式化函数。- 如果在 C++
std::cout中打印,可以直接使用std::cout << num;,不需要格式化符号。 - 在 32 位系统上,
unsigned long long可能不是 64 位,要根据编译器确认类型大小。
💡 扩展:
%llu——unsigned long long(无符号 64 位整数)%lld——long long(有符号 64 位整数)
在开发中,如果涉及到大整数计算,比如 文件大小、时间戳、哈希值、计数器等,就可以使用 unsigned long long 进行存储,并通过 %llu 格式化输出!
与 long long 的区别
| 类型 | 长度(位) | 取值范围 | 格式化符号 |
|---|---|---|---|
long long | 64 位 | -2^63 到 2^63-1 | %lld |
unsigned long long | 64 位 | 0 到 2^64-1 | %llu |
总结
| 需求 | 使用的数据类型 | 格式化符号 |
|---|---|---|
| 64 位无符号整数 | unsigned long long | %llu |
| 64 位有符号整数 | long long | %lld |
| 32 位无符号整数 | unsigned int 或 unsigned long | %u 或 %lu |
| 32 位有符号整数 | int 或 long | %d 或 %ld |
