J大神 发表于 2020-7-23 19:27

C语言函数实现(输入一个十进制,转换为二进制)

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

//输入一个十进制,自己写一个函数转换为二进制

void change2(int num)
{
        if (num == 0)
        {
                return;
        }
        else
        {
                change2(num / 8);
                printf("%d", num % 8);//在递归调用之上就是顺序,递归调用之下,就是逆序
        }
}
void main()
{
        int num;
        scanf_s("%d", &num);
        printf("你要转换的十进制数是%d", num);
        printf("转换以后的八进制数是");
        change2(num);

        system("pause");
}

最后说一下,本人写的不好,描述不好请不要见怪。感谢吾爱破解这个大家庭

J大神 发表于 2020-7-23 21:58

change2(num / 8);
printf("%d", num % 8);
不好意思哈,这个我是8进制转换,如果要二进制请改成2,谢谢。有什么错误提醒一下我,毕竟是新手。

挑灯看花 发表于 2020-7-23 22:06

再改改应该可以实现任意进制转化

J大神 发表于 2020-7-24 09:33

cmycmy4 发表于 2020-7-23 23:53
如果只是转2进制,感觉还是右移加位运算好理解些

确实,只不过我还是说的简单一些,怕你们看不懂:lol

J大神 发表于 2020-7-24 09:35

挑灯看花 发表于 2020-7-23 22:06
再改改应该可以实现任意进制转化

有机会我改吧,本人目前还处在学习阶段。{:1_918:}

洛兮1517 发表于 2020-8-1 14:08

虽然没啥用,但是值得鼓励,楼主还在学习啊,真不错,可以考虑写一个任意进制转化的。
页: [1]
查看完整版本: C语言函数实现(输入一个十进制,转换为二进制)