| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 1268 人关注过本帖
标题:十进制转二进制
取消只看楼主 加入收藏
qiqicai
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2021-3-23
结帖率:84.62%
收藏
已结贴  问题点数:20 回复次数:1 
十进制转二进制
#include <stdio.h>
#include <math.h>
 
long long convertDecimalToBinary(int n);
 
int main()
{
    int n;
    printf("输入一个十进制数: ");
    scanf("%d", &n);
    printf("十进制数 %d 转换为二进制位 %lld", n, convertDecimalToBinary(n));
    return 0;
}
 
long long convertDecimalToBinary(int n)
{
    long long binaryNumber = 0;
    int remainder, i = 1, step = 1;
 
    while (n!=0)
    {
        remainder = n%2;
        printf("Step %d: %d/2, 余数 = %d, 商 = %d\n", step++, n, remainder, n/2);
        n /= 2;
        binaryNumber += remainder*i;                               // 这个为什么不用判断n=0的情况
        i *= 10;
    }
    return binaryNumber;                                       


                                                                     
                                                                 

      
}

[此贴子已经被作者于2021-4-10 22:57编辑过]

2021-04-10 22:12
qiqicai
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2021-3-23
收藏
得分:0 
回复 2楼 夏天q
它这里并没有陈述n=0的情况  如果输入的十进制数是0 我运行后却能正确输出二进制也是0   这是为什么?
2021-04-11 10:42
快速回复:十进制转二进制
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018548 second(s), 11 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved