0
点赞
收藏
分享

微信扫一扫

输出一个整数的二进制码

芝婵 2022-10-09 阅读 54

#include<stdio.h>

#define N  35

int main()

{

//输入任意整数

  int n;

    scanf("%d",&n);

    int q[N];

    int i=0;

//得到每一位二进制数,但是顺序是反过来的

    while(n>0)

    {

        q[i++]=n%2;

        n=n/2;

    }

//缺少项补0

    while(i<=32)

    {

        q[i++]=0;

    }

//倒着输出

    while(i>=0)

    {

        printf("%d",q[i--]);

    }

    return 0;

}

如果想要输出负数的,只需进行判断,在最高位补1就行

优化:

#include<iostream>

using namespace std;

int main()

{

const int N=35;

int n;

cin >> n;

int q[N];

int i = 0;

while (i < 32)

{

 q[i++] = n % 2;

 n = n / 2;

}//这里省去了补0的部分

while (i >= 0)

{

 cout << q[i--];

}

return 0;

}


举报

相关推荐

0 条评论