十进制转十六进制 二进制转换器

时间: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,并将商和余数分别存储在 quorem 变量中。如果余数小于 10,则将其转换为对应的字符(&39;0&39; 到 &39;9&39;),否则将其转换为对应的字符(&39;A&39; 到 &39;F&39;)。将转换后的字符存储在 hex 数组中,并将数组下标 i 加 1。最后,将 quo 更新为商,以便继续下一轮循环。

最后,程序使用一个 for 循环来逆序输出 hex 数组中的字符,以得到最终的十六进制数。

程序中的变量名都比较简短,dec 代表十进制数,quo 代表商,rem 代表余数,hex 代表十六进制数。

文章评论