在实现 一个程序时,突然遇到没有可以直接打印二进制的系统函数,所以就只有自己实现函数:
方法一:(自己用函数的方法来实现, 递归的方法)
/*
*二进制的输出,使用递归的方法来实现
*/
void binary(int n)
{
int pn = 0;
if (n <= 0)
return ;
else
{
pn = n/2;
binary(pn);
pn = n%2;
printf("%d", pn);
}
}
方法二:可以借用另一个库函数进行转换下,也能实现
int num = 16;
char value[32];
itoa(num, value, 2);
printf("two binary=%s\n", value);
完成以后,可以用以下的方法来测试下程序的正确性与否:
int main(void)
{
int num = 16;
char value[32];
printf("two binary = ");
binary(num);
printf("\neigth bitary=%o\nsixth bitary=0x%x\n",num,num);
itoa(num, value, 2);
printf("two binary=%s\n", value);
return 0;
}