网站首页 > 精选教程 正文
十进制转二进制
十进制转二进制使用的是除以2取余数的方法,下面以十进制数11为例
11 ÷ 2 = 5 余数1
5 ÷ 2 = 2 余数1
2 ÷ 2 = 1 余数0
1 ÷ 2 = 0 余数1
首次得到的余数放在最右,因此转换为二进制数1011
C语言十进制转二进制
分析
(1)使用数组存储二进制,循环数组输出结果
(2)使用除2取余,使用%。
#include<stdio.h>
int main(void){
int m,n,i,j;
int a[16] = {0};
printf("请输入一个整数:");
scanf("%d",&m);
for(n=0;n<15;n++){
i = m % 2;
j = m / 2;
m = j;
a[n] = i;
}
for(n=15;n>=0;n--){
printf("%d",a[n]);
if(n%4 == 0){
printf(" ");
}
}
return 0;
}
程序分析
(1)int a[16] = {0},定义了数组a,初始值设定为0。
(2)第一个for循环for(n=0;n<15;n++),循环范围0-14,设定了数a的初值为0,默认最高位为0,转换后的二进制数放入数组剩下的元素。
(3)第二个for循环for(n=15;n>=0;n--),循环范围0-15,输出所有的数值。
运行结果
运行分析
以输入数值11为例进行分析,输入11,m=11,进入第一个for循环
(1)n=0,i=m%2=11%2=1,j=m/2=11/2=5,m=j=5,a[0]=1
(2)n=1,i=m%2=5%2=1,j=m/2=5/2=2,m=j=2,a[1]=1
(3)n=2,i=m%2=2%2=0,j=m/2=2/2=1,m=j=1,a[2]=0
(4)n=3,i=m%2=1%2=1,j=m/2=1/2=0,m=j=0,a[3]=1
此时如果输出数组,结果:1101 0000 0000 0000
进入第二个for循环,使用除2取余法,首次得到的余数需要放在最右,因此需要逆序输出数组,每隔四位输出一个空格。
结果:0000 0000 0000 1011
总结
(1)本例中使用数组存储二进制位数,但数组大小仅为16,数值过大则不能转换。
(2)本例中数组初始化为0,转换后输出最高位为0,转换的仅为正整数,不能转换负数或小数。
- 上一篇: 十进制与二进制
- 下一篇: 二进制转化为十进制,你会做吗?一起来试试吧
猜你喜欢
- 2024-11-20 整数十进制与二进制之间的转换
- 2024-11-20 工控人必须掌握的知识:二进制、八进制、十进制、十六进制的转换
- 2024-11-20 二进制1101100怎么转成十进制aq?
- 2024-11-20 学PLC必须要搞不清楚,十进制和二进制是如何互相转换的 #PLC
- 2024-11-20 进制转换小课堂:轻松掌握八进制与十进制之间的相互转换
- 2024-11-20 Java基础,数据类型,类型转换,Java转义符,Java中的进制
- 2024-11-20 攻城狮眼里的二进制和十进制转换
- 2024-11-20 小学五年级奥数,二进制与十进制转换#小学数学
- 2024-11-20 十进制转换成二进制
- 2024-11-20 数论之十进制转二进制
你 发表评论:
欢迎- 04-11Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- 04-11Java中你知道几种从字符串中找指定的字符的数量
- 04-11探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- 04-11Python字符串详解与示例(python字符串的常见操作)
- 04-11java正则-取出指定字符串之间的内容
- 04-11String s1 = new String("abc");这句话创建了几个字符串对象?
- 04-11java判断字符串中是否包含某个字符
- 04-11关于java开发中正确的发牌逻辑编写规范
- 最近发表
-
- Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- Java中你知道几种从字符串中找指定的字符的数量
- 探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- Python字符串详解与示例(python字符串的常见操作)
- java正则-取出指定字符串之间的内容
- String s1 = new String("abc");这句话创建了几个字符串对象?
- java判断字符串中是否包含某个字符
- 关于java开发中正确的发牌逻辑编写规范
- windows、linux如何后台运行jar(并且显示进程名)
- 腾讯大佬私人收藏,GitHub上最受欢迎的100个JAVA库,值得学习
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)