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

文章目录

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

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

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

以下是一个示例代码,演示如何以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类型和使用PRIx64或PRIX64宏所必需的。然后,定义了一个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进制表示,从而满足不同的格式化需求

相关推荐
死磕音视频8 小时前
让小模型做选择题:限定候选项并读取 logits 概率的入门实践(附 Python 代码)
开发语言·python·大模型·文本分类·transformers
Navigator_Z8 小时前
LeetCode //C - 1291. Sequential Digits
c语言·算法·leetcode
顽疲10 小时前
Java vue 养老系统源码详解:月账单 care_month_bill 与 Quartz 扣费 Job 实践
java·开发语言·vue.js·vue养老·springboot养老·java养老
Wang's Blog10 小时前
Java 项目实战: 交友项目 - 安装开发工具与环境准备
java·开发语言·交友
水饺编程11 小时前
第2章:Linux 基础,clear 命令
linux·c语言·汇编
程序喵大人12 小时前
【C++入门】编译链接模型 - 07 链接器怎样把符号对上号
开发语言·c++·编译器·编译链接·链接器
无敌贵点大王12 小时前
嵌入式软件面试经(自用)
c语言·stm32·单片机·学习·mongodb·面试·职场和发展
微三云 - 廖会灵 (私域系统开发)12 小时前
供应链系统实战:多渠道订单聚合与分布式库存一致性方案总结
开发语言·分布式·php
学逆向的13 小时前
C 数据溢出与精度丢失
c语言·开发语言·网络安全
霸道流氓气质13 小时前
AgentFlow 入门与实战:Task-Based 并发、EWMA 动态调度与四道门禁的 Java 生产级编排
java·开发语言