gpt4 book ai didi

c - 如何在C中制作十进制到十六进制转换器

转载 作者:太空宇宙 更新时间:2023-11-04 05:40:39 25 4
gpt4 key购买 nike

所以我是 C 的绝对初学者,我必须做一个十进制到十六进制的转换器。

所以我想我需要做一个循环直到结果为 0。

但是我怎样才能让它记住所有的余数呢?该数字将使用 scanf 输入,因此我无法为其定制代码。

现在我想做这样的事情

while(number(n)!=0)
{
number0 / 16 = number1
number0 % 16 = remainder0
number1 / 16 = number2
number1 % 16 = remainder1
.....
number(n-1) / 16 = 0
number(n-1) % 16 = lastremainder
}

hex = lastremainder, ..., remainder2, remainder1, remainder0

但是我怎样才能让程序在循环中创建变量呢?我必须使用完全不同的方法吗?我查看了其他十进制到十六进制转换器,但不太了解它们的工作原理。

就像我说的,我是一个绝对的初学者,如果这个问题很愚蠢,我很抱歉。

感谢您的回复。那么数组是我的问题的答案吗?我现在还不能完全理解它们,但感谢您指明了正确的方向。

最佳答案

老实说,我会简单地使用 sprintf:

char hex[10];
sprintf(&hex, "%x", INT_MAX);//INT_MAX macro requires limits.h, though...
printf("%s\n", hex);//prints 7fffffff

工作完成...
完整而言,您的代码可能类似于:

#include <stdio.h>
#include <stdlib.h>

int main()
{
char hex[10];
int input;
scanf("%d", &input);
sprintf(&hex, "%x", input);
printf("The number %d, turned to hexadecimal is: %s\n", input, hex);
return 0;
}

甚至:

    int input;
scanf("%d", &input);
printf("The number %d, turned to hexadecimal is: %x\n", input, input);

关于c - 如何在C中制作十进制到十六进制转换器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20047598/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com