c - unsigned long long 十六进制格式打印

标签 c integer printf

我正在尝试像这样打印出 unsigned long long:

  printf("Hex add is: 0x%ux ", hexAdd);

但是我遇到了类型转换错误,因为我有一个 unsigned long long

最佳答案

您可以对 %x 使用相同的 ll 大小修饰符,因此:

#include <stdio.h>

int main() {
    unsigned long long x = 123456789012345ULL;
    printf("%llx\n", x);
    return 0;
}

所有的转换和格式说明符都在一个很棒的表格中:

关于c - unsigned long long 十六进制格式打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19284978/

相关文章:

c++ - C 和 C++ 中的可变长度数组 (VLA)

java - 在用户输入的字符串中搜索 int

java - 在java中使用printf与数组

c - 如何在各自的类(class)中显示学生姓名

c - 在 C 中使用 pthread 等待 x 时间或标志为 true

c - 如何在 C 中将 int 转换为字符串?

c - 我应该在 32/64 位机器上使用 stdint.h 整数类型吗?

c - printf 样式格式化而不输出

c - 为什么我的程序只打印出每隔一个字符? C

c - 段错误、解析、C