二进制输出整数

一个整数转成二进制,都明白是如果转换的,可以利用他的转换原理用代码表现出来。

例如7转换从二进制就是不断地除2,保留余数,一直到0:7除2,余数1 ,第二次,3除2,余数1,第三次,1除2,余1,最后是0,

那么7的二进制的表现形式就是1 1 1,

如果用代码表示的话,可以用循环来不断的除2,当然除二也是有条件的那就是被除数不能为0,当被除数为0是终止循环。

循环可以使用for循环,循环的次数,可以用一个计数器来表现一下(设计数器为te,每次满足条件能够除以1时,te也自动加一)。

for循环的样式:for(int i =0 ;i <=te;i++),当满足条件时,i和te同时自加一,当条件不满足时,只有i会自加,循环就会终止。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
    int arr[32]={0};//使用数组来存放二进制数。
    int a,i,t=0;
    scanf("%d",&a);
    for(i=0;i<=t;i++){
        if(a!=0){
            arr[i]=a%2;
            a=a/2;
        t++;
        }
    }#include<stdio.h>
int main(){
    int arr[32]={0};
    int a,i,t=0;
    scanf("%d",&a);
    for(i=0;i<=t;i++){
        if(a!=0){
            arr[i]=a%2;
            a=a/2;
        t++;
        }
    }
    for(i=0;i<t/2;i++){
        //printf("%2d",arr[i]);
        int te=arr[i];
        arr[i]=arr[t-1-i];
        arr[t-1-i]=te;
    }
        for(i=0;i<t;i++){
        printf("%2d",arr[i]);
    }
return 0;
}        for(i=t-1;i>=0;i--){
        printf("%2d",arr[i]);
    }

 再将二进制录入数组中后,可以将数组反转输出,或者调换元素位置

复制代码
复制代码

我这里是将数组元素进行调换了,不过效果一样。

 

这个是将数组反转输出的。

posted @   不知名de菜鸟  阅读(82)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示