鱼C论坛

 找回密码
 立即注册
查看: 659|回复: 3

十进制转二进制代码输出结果跟实际不符不知道哪里错了

[复制链接]
发表于 2022-3-21 12:27:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
void change_to_binary(int num)//转换函数
{
        int temp_binary = num%2;//除2取余
        num=num/2;//用除以2得到的商继续除以2
       
        if(num)
          change_to_binary(num);//逆序输出每一位余数,即转换后的二进制数
        printf("%d",temp_binary);
         
}

int main()
{
        int DecimalNum = 0;//定义一个整型变量存放十进制度数
         printf("请输入十进制数:");
        scanf("%d.&DecimalNum");//输入一个十进制数
        printf("二进制是:");
        change_to_binary(DecimalNum);//调用转换函数将其转为二进制数
       
        printf("\n");
        return 0;
}



大佬们帮忙看看哪里错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-3-21 12:52:23 From FishC Mobile | 显示全部楼层
#include <stdio.h>

void binary(int num){
        if(!num) return;
        binary(num/2);
        printf("%d", num%2);
}

int main(){
        binary(8);
        return 0;
}
1000
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-21 13:25:27 | 显示全部楼层
binary(num/2);//换成binary(num>>1);
printf("%d", num%2);//换成printf("%d", num&1);
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-21 13:27:25 From FishC Mobile | 显示全部楼层
jhq999 发表于 2022-3-21 13:25

我也想,但担心楼主不明白,所以选择用楼主的代码方式呈现
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-18 04:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表