输出一个十进制整数的二进制形式

题目:

输入一个十进制的整数,输出它的二进制形式。

例如:

输入:50

输出:110010

解题思路:

要实现将十进制的整数转换为二进制的形式,我这里模拟除2取余法的操作来进行实现。

除2取余法是通过连续将十进制数除以2,并记录每次的余数,最后将这些余数逆序进行排列,从而得到二进制数的方法。

下面给出一个示例过程:

假设给定一个十进制整数为N,要求输出其二进制形式。

1、计算N/2,得到商(假设为Q1)和余数(假设为R1)。

2、计算Q1/2,得到商Q2和余数R2。

3、重复步骤2,直到商为零结束。

4、将每一次记录的余数逆序排列,即为十进制整数N的二进制形式。

程序代码:

#include <stdio.h>

int main(int argc, char *argv[])
{ 
    int a;
    printf("请输入一个整数:");
    scanf("%d",&a);
    int b[32];//存储产生的二进制位
    int j = 0, i = 0; 
    do
    { 
        b[i]= a % 2;//取余
        a = a / 2 ;//更新a的值为取余操作中的商
        i++;
    }while(a != 0);//当商为零时,代表已经除尽
    printf("该整数的二进制表示为:");
    for (j = i-1; j >= 0 ; j--){//逆向输出二进制位
        printf("%d",b[j]);
    }
    putchar('\n');

    return 0;
} 

运行结果:

请输入一个整数:55863
该整数的二进制表示为:1101101000110111
请输入一个整数:25536
该整数的二进制表示为:110001111000000
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值