我想写一个小数,看看十六进制。 我写了一些代码,但它没有用。出了什么问题? 感谢。
#include<stdio.h>
int main()
{
int l(int);
int k(int);
char cha;
int x, y = 0, z = 18, a = 0, b = 0, c = 0, d = 0;
scanf("%d %c", &x, &cha); //x a decimal number//
//I //
if (x>0 && x <= 65535) // kalsın //
{
if (cha == 'h' || cha == 'H')
{
y = x;
for (z = 18; z >= 16; c++)
{
z = x / 16;
x = x / 16;
}
z = k(z); /* this is a function for finding that what is in hex.*/
d = c;
for (a = 0; a != c; a++)
{
c = d;
for (; c >= a; c--)
{
b = y % 16;
y = y / 16;
}
b = k(b); /* find what is */
}
}
}
return 0;
}
int k(int d)
{
int e = d;
if (e == 10) printf("A");
else if (e == 11) printf("B");
else if (e == 12) printf("C");
else if (e == 13) printf("D");
else if (e == 14) printf("E");
else if (e == 15) printf("F");
else if (e<10) printf("%d", e);
return e;
}
这段代码有什么问题。写162小时 我看到了0000000 ...... 我只能使用循环(控制)和简单的函数
答案 0 :(得分:1)
如何将小数点设为十六进制。?
待办事项
int a = 2000;
printf( "%X", a);
输出:
7D0
换句话说:2000 in hex。
解释:十进制和十六进制只是相同数字的符号(如二进制)。您想要打印哪种符号是您自己选择的。