相关疑难解决方法(0)

如何将64位整数打印为十六进制?

使用以下代码,我尝试使用输出unit64_t变量的值printf().使用gcc编译代码,返回以下警告:

警告:格式'%x'需要'unsigned int'类型的参数,但参数2的类型为'uint64_t'[ - Wformat =]

代码:

#include <stdio.h>
#include <stdint.h>

int main ()
{
    uint64_t val = 0x1234567890abcdef;
    printf("val = 0x%x\n", val);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出:

val = 0x90abcdef
Run Code Online (Sandbox Code Playgroud)

预期产量:

val = 0x1234567890abcdef
Run Code Online (Sandbox Code Playgroud)

如何使用printf()?输出64位值作为十六进制整数?x在这种情况下,说明符似乎是错误的.

c 64-bit gcc

23
推荐指数
2
解决办法
8万
查看次数

标签 统计

64-bit ×1

c ×1

gcc ×1