标题:十进制转二进制
取消只看楼主
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编辑过]

搜索更多相关主题的帖子: int long printf 二进制 十进制 
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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-505397-1-1.html




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

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013208 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved