如何使用 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
示例
以下是 C 语言程序,它以如何使用while 循环将二进制数转换为其等效的十六进制数 -
#include <stdio.h> int main(){ long int binaryval, hexadecimalval = 0, i = 1, remainder; printf("Enter the binary number: "); 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; }
输出
当执行上述程序时,它将产生以下结果 -
Enter the binary number: 11100 Equivalent hexadecimal value: 1C
广告