二进制输出整数
一个整数转成二进制,都明白是如果转换的,可以利用他的转换原理用代码表现出来。
例如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]); } |
再将二进制录入数组中后,可以将数组反转输出,或者调换元素位置
我这里是将数组元素进行调换了,不过效果一样。
这个是将数组反转输出的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架