迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > C语言 >

在 C 中打印一个十六进制值

作者:迹忆客 最近更新:2023/05/05 浏览次数:

这篇文章将讨论使用 C 编程语言打印十六进制值。


C语言中的十六进制数概述

十六进制数是在 C 编程语言中使用 16 个符号构造的值。 这些符号包括从 0 到 9 的十个正常数字系统和从 A 到 F 的六个附加符号。

C 中的十六进制数字系统称为 base-16 数字系统。 无法将十六进制数保存为float、long、double等数据类型; 但是,您可以将它们存储在整数数据类型中。

在C编程语言中要输入一个十六进制值,必须使用scanf,它提供了格式说明符,如%x和%X。

十六进制值在 C 编程语言中表示为 0x 或 0X。 要以十六进制格式打印整数,必须在 printf() 命令中使用格式说明符 %x 或 %X。

当使用 %x 时,该值以十六进制格式打印,字母小写,如 (a-f)。 当使用 %X 时,该值以十六进制格式打印,字母大写,如 (A-F)。


C 编程语言中的格式说明符

如果您希望 0x 始终包含在输出中,则不应使用 # 符号,因为即使值为 0,它也会导致 0x 被添加到输出中。

可以通过以下方式将宽度字段与 0 标志组合来产生前导零:%08x 的值将前导零添加到整数中,使其宽度为 8。

还可以使用精度字段,其内容如下: %.8x 用前导零填充整数,使其总共为 8 位。 因此,0x%.8x 是您考虑实现目标的另一个选项。

如果前缀作为转换的一部分形成,例如 0x 代表 # 或 - 代表带符号转换中的负整数,这些转换要求将不同。 前缀的长度将计入宽度,但不会计入精度说明符。

下面是一个示例,说明如何使用各种说明符为十六进制数提供各种输出样式。

#include<stdio.h>

int main()
{
    printf("%10x\n", 252);
    printf("%010x\n", 252);
    printf("%#010x\n", 252);

    printf("%10.8x\n", 252);
    printf("%#10.8x\n", 252);
    printf("0x%.8x\n", 252) ;

    printf("%10x\n", 0);
    printf("%010x\n", 0);
    printf("%#010x\n", 0);

    printf("%10.8x\n", 0);
    printf("%#10.8x\n", 0);
    printf("0x%.8x", 252);
}

输出:

        fc
00000000fc
0x000000fc
  000000fc
0x000000fc
0x000000fc
         0
0000000000
0000000000
  00000000
  00000000
0x000000fc

转换为十六进制值的过程

现在,让我们看看系统是如何进行这种转换的,以便我们能够完全理解它。

  1. 您首先需要将提供的数字除以 16,然后记下运算的余数。
  2. 继续执行步骤 1,直到商等于 0。
  3. 按照获取它们的相反顺序组合其余组件。

打印十六进制值的实现

例如,在这个例子中,当我们将 252 除以 16 时,商为 15,余数为 12。 现在,我们将 15 除以 16; 商将为 0,而余数将为 15。

需要注意的是,当 15 除以 16 时,得到的商为 0。因此,这里是我们停止计算的地方。

经过前两个阶段得到的两个余数为12和15,它们对应的十六进制表示为c和f。 余数的十六进制表示在这里按照与生成它们的方式相反的方向组织。

因此,在此实例中,值 252 将以十六进制表示为 fc。


在 C 中使用 %x 以小写字母打印十六进制值

十六进制值将使用 %x 格式修饰符以小字母打印。 像,ff,ffd 等。

让我们看下面的例子,看看 %x 格式说明符是如何工作的。

第一步是导入必要的库并构建一个 main() 函数。

接下来,创建一个数据类型为 int 的变量并将其命名为 integerValue。 然后,给它一个整数值,该整数值将被转换成相应的十六进制值。

然后,我们需要将整数值转换为十六进制,%x 说明符会自动为我们完成并以小写字母打印该值。

代码:

#include<stdio.h>

int main()
{
    int integerValue = 252;
    printf("The converted value in hexadecimal is: %x\n", integerValue);
    return 0;
}

输出:

The converted value in hexadecimal is: fc

在 C 中使用 %X 以小写字母打印十六进制值

在本例中,我们将在 print 语句中使用 %X 以大写字母输出值。

#include<stdio.h>

int main()
{
    int integerValue = 252;
    printf("The converted value in hexadecimal is: %X\n", integerValue);
    return 0;
}

输出:

The converted value in hexadecimal is: FC

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 C 语言中使用 typedef enum

发布时间:2023/05/07 浏览次数:181 分类:C语言

本文介绍了如何在 C 语言中使用 typedef enum。使用 enum 在 C 语言中定义命名整数常量 enum 关键字定义了一种叫做枚举的特殊类型。

C 语言中的静态变量

发布时间:2023/05/07 浏览次数:151 分类:C语言

本文介绍了如何在 C 语言中使用静态变量。在 C 语言中使用 static 变量在函数调用之间保存变量值

C 语言中生成随机数

发布时间:2023/05/07 浏览次数:64 分类:C语言

本文演示了如何在 C 语言中生成随机数。使用 rand 和 srand 函数在 C 语言中生成随机数

C 语言中的 i++ 与++i

发布时间:2023/05/07 浏览次数:83 分类:C语言

本文演示了如何在 C 语言中使用前缀增量与后缀增量运算符。C 语言中++i 和 i++ 记号的主要区别

C 语言中获取当前工作目录

发布时间:2023/05/07 浏览次数:182 分类:C语言

本文演示了如何在 C 语言中获取当前工作目录。使用 getcwd 函数获取当前工作目录的方法

C 语言中的位掩码

发布时间:2023/05/07 浏览次数:126 分类:C语言

本文介绍了如何在 C 语言中使用位掩码。使用 struct 关键字在 C 语言中定义位掩码数据

C 语言中的排序函数

发布时间:2023/05/07 浏览次数:181 分类:C语言

本文演示了如何在 C 语言中使用标准库排序函数。使用 qsort 函数对 C 语言中的整数数组进行排序

C 语言中的 extern 关键字

发布时间:2023/05/07 浏览次数:114 分类:C语言

本文介绍了如何在 C 语言中使用 extern 关键字。C 语言中使用 extern 关键字来声明一个在其他文件中定义的变量

C 语言中的 #ifndef

发布时间:2023/05/07 浏览次数:186 分类:C语言

本文介绍了如何在 C 语言中使用 ifndef。在 C 语言中使用 ifndef 保护头文件不被多次包含 C 语言中的头文件用于定义同名源文件中实现的函数的接口。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便