二进制数以 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 循环将二进制数转换为等效的十六进制数 -
Live演示
#include
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
登录后复制
以上就是如何使用C语言将二进制转换为十六进制?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!