十进制转十六进制 二进制转换器
时间:2023-06-23 03:51/span>
作者:tiger
分类:
新知
浏览:4142
评论:0
十进制转十六进制:
include <stdio.h>
int main() {
int dec, quo, rem;
char hex[100];
int i = 0, j;
printf(&34;请输入一个十进制数:&34;);
scanf(&34;%d&34;, &dec);
quo = dec;
while (quo != 0) {
rem = quo % 16;
if (rem < 10)
hex[i++] = rem + &39;0&39;;
else
hex[i++] = rem + &39;A&39; - 10;
quo = quo / 16;
}
printf(&34;该数的十六进制数为:&34;);
for (j = i - 1; j >= 0; j--)
printf(&34;%c&34;, hex[j]);
return 0;
}
程序首先通过 scanf 函数从用户输入中获取一个十进制数,并将其存储在 dec 变量中。
然后,程序使用一个 while 循环来将十进制数转换为十六进制数。在每次循环中,程序将十进制数除以 16,并将商和余数分别存储在 quo 和 rem 变量中。如果余数小于 10,则将其转换为对应的字符(&39;0&39; 到 &39;9&39;),否则将其转换为对应的字符(&39;A&39; 到 &39;F&39;)。将转换后的字符存储在 hex 数组中,并将数组下标 i 加 1。最后,将 quo 更新为商,以便继续下一轮循环。
最后,程序使用一个 for 循环来逆序输出 hex 数组中的字符,以得到最终的十六进制数。
程序中的变量名都比较简短,dec 代表十进制数,quo 代表商,rem 代表余数,hex 代表十六进制数。