C语言,使用数组,编写一个十进制正整数转换为二进制数的转换工具 5
使用数组,编写一个十进制正整数转换为二进制数的转换工具。(十进制数m由键盘输入)(如:输入65,输出为1000001),需要思路。...
使用数组,编写一个十进制正整数转换为二进制数的转换工具。(十进制数m由键盘输入)(如:输入65,输出为1000001),需要思路。
展开
3个回答
展开全部
C语言程序如下:
#include<stdio.h>
int main(){
int N,i,t;
int a[100];
scanf("%d",&N);
for(i=0;N!=0;i++){
a[i]=N%2;
N=N/2;
}
for(t=i-1;t>=0;t--){
printf("%d",a[t]);
}
}
思路:反复地将n除以2取余数;将取出的余数用数组存放;由于先取出的是低位数据,后取出的是高位数据,因此需将数组逆序输出。
扩展资料:
1、十进制整数转二进制数:“除以2取余,逆序排列”(除二取余法)
2、十进制小数转二进制数:“乘以2取整,顺序排列”(乘2取整法)
3、十进制负数转二进制:“先取正数的二进制值,再取反,加1”
参考资料:百度百科-二进制
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
int main()
{
int i=0,j=0,a = 0,n[100]={0};
scanf("%d",&a);
printf("input=%d\n",a);
while (a)
{
n[i++] = a%2;
a/=2;
}
for (j=i-1;j>=0;j--)
{
printf("%d",n[j]);
}
printf("\n");
return 0;
}
65
input=65
1000001
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询