C语言 十进制数转换为二进制数

思路:

将一个整数除2后得到余数记录余数继续把商除2,至商等于0时停止操作。最后把依次得到的余数以相反顺序排列。

:将十进制转化为其他进制也是这种方法。

例如:

15的二进制数

16/2    商为8   余数为0

8/2      商为4   余数为0

4/2      商为2   余数为0

2/2      商为1   余数为0

1/2      商为0   余数为1  (商为0,停止操作)

15的二进制数为   10000 

编程思路:

第一步   16%2=0       16/2=8

第二步   8%2=0         8/2=4 

第三步   4%2=0         4/2=2 

第四步   2%2=0         2/2=1

第五步   1%2=1         8/2=0   (商为0,停止操作)

15的二进制数为   10000 

C语言程序: 

#include<stdio.h>
int arr[10000];//创建一个数组储存数
int main()
{
    int n;
    scanf("%d", &n);
    int i = 0;
    while ( n!= 0 ) //商等于0时退出循环
    {
            arr[i] = n % 2;
            n /= 2;
            i++;
     }
    for (int j = i - 1; j >= 0; j--)//i多加一个1,需要减去一个1
    {
        printf("%d", arr[j]);//从后往前打印
    }
    return 0;
}

  • 9
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值