如何使用C语言将二进制转换为十六进制?

二进制数用 1 和 0 表示。

16 位的十六进制数制是 {0,1,2,3…..9, A(10), B(11),……F(15)}

为了从二进制转换为十六进制表示,位串 id 被分组为 4 位块,从最低有效侧称为半字节。每个块都由相应的十六进制数字代替。

让我们看一个例子来明确十六进制和二进制数的表示。

0011 1110 0101 1011 0001 1101

  3    E    5    B   1    D

我们用 C 语言为十六进制常量编写 0X3E5B1D。

另一个如何将十进制转换为二进制然后转换为十六进制的示例如下 -

7529D = 0000 0000 0000 0000 0001 1101 0110 1001B

      = 0x00001D69 = 0x1D69

示例

以下是使用 while 循环将二进制数转换为其等效的十六进制数的 C 程序是什么-

#include <stdio.h>

int main(){

   long int binaryval, hexadecimalval = 0, i = 1, remainder;

   printf("输入二进制数: ");

   scanf("%ld", &binaryval);

   while (binaryval != 0){

      remainder = binaryval % 10;

      hexadecimalval = hexadecimalval + remainder * i;

      i = i * 2;

      binaryval = binaryval / 10;

   }

   printf("Equivalent hexadecimal value: %lX", hexadecimalval);

   return 0;

}

输出结果

执行上述程序时,会产生以下结果 -

输入二进制数: 11100

Equivalent hexadecimal value: 1C

以上是 如何使用C语言将二进制转换为十六进制? 的全部内容, 来源链接: utcz.com/z/361811.html

回到顶部