【ARM 嵌入式 C 文件操作系列 20.4 -- 打印 uint64_t 类型的数值】

文章目录

    • [C代码中 打印 uint64_t 类型的数值](#C代码中 打印 uint64_t 类型的数值)

C代码中 打印 uint64_t 类型的数值

为了以16进制方式打印uint64_t类型的数值,可以使用printf函数,配合<inttypes.h>头文件中定义的宏PRIX64PRIx64。这些宏确保了无论在哪个平台上,都能以正确的格式打印64位无符号整数的16进制表示。
PRIX64宏用于打印大写的16进制数字(比如AF),而PRIx64宏用于打印小写的16进制数字(比如af)。

以下是一个示例代码,演示如何以16进制格式打印uint64_t的值:

c 复制代码
#include <stdio.h>
#include <stdint.h>
#include <inttypes.h>

int main(void) 
{
    uint64_t value = 0x123456789ABCDEF0ULL;
    // 打印小写的16进制数值
    printf("The value of uint64_t in lowercase hex is: %" PRIx64 "\n", value);
    
    // 打印大写的16进制数值
    printf("The value of uint64_t in uppercase hex is: %" PRIX64 "\n", value);
    return 0;
}

这段代码首先包括了<stdio.h><stdint.h><inttypes.h>头文件,这是使用printf函数、定义uint64_t类型和使用PRIx64PRIX64宏所必需的。然后,定义了一个uint64_t类型的变量value并为其赋了一个16进制的初始值。最后,使用printf函数和PRIx64宏打印value的小写16进制表示,以及使用PRIX64宏打印其大写16进制表示。

测试效果

shell 复制代码
[09:29:05] (*^~^*) ~/zhugong/workbase$ vim uint64_print.c
[09:29:31] (*^~^*) ~/zhugong/workbase$ gcc uint64_print.c -o uint64_print
[09:29:43] (*^~^*) ~/zhugong/workbase$ ./uint64_print
The value of uint64_t in lowercase hex is: 123456789abcdef0
The value of uint64_t in uppercase hex is: 123456789ABCDEF0

通过这种方式,你可以灵活选择以大写或小写形式打印64位无符号整数的16进制表示,从而满足不同的格式化需求

相关推荐
yb0os11 小时前
RPC实战和核心原理学习(一)----基础
java·开发语言·网络·数据结构·学习·计算机·rpc
liuyao_xianhui2 小时前
内存管理(C/C++)
java·开发语言·c++
rit84324992 小时前
基于灰狼算法(GWO)优化支持向量回归机(SVR)参数C和γ的实现
c语言·算法·回归
饭碗的彼岸one2 小时前
C++设计模式之单例模式
c语言·开发语言·c++·单例模式·设计模式·饿汉模式·懒汉模式
hope_wisdom2 小时前
C/C++数据结构之栈基础
c语言·数据结构·c++··stack
青铜发条2 小时前
【Qt】PyQt、原生QT、PySide6三者的多方面比较
开发语言·qt·pyqt
wanzhong23333 小时前
学习triton-第1课 向量加法
开发语言·python·高性能计算
三千道应用题4 小时前
C#语言入门详解(18)传值、输出、引用、数组、具名、可选参数、扩展方法
开发语言·c#
忧郁的蛋~4 小时前
使用.NET标准库实现多任务并行处理的详细过程
开发语言·c#·.net
dragon_perfect4 小时前
全流程基于Yolov8实现在Label-Studio实现半自动标注,已经把整个流程理清楚,把所有的坑解决。
开发语言·python·yolo·labelstudio