c语言如何用循环将十进制转为二进制
答案:4 悬赏:10 手机版
解决时间 2021-03-03 07:07
- 提问者网友:做自己de王妃
- 2021-03-03 02:33
c语言如何用循环将十进制转为二进制,不是从系统直接获取,用原理来计算。
最佳答案
- 五星知识达人网友:逃夭
- 2021-03-03 03:56
#include"stdio.h" int er(int m); int ba(int f); int shiliu(int k); int n,a[30],c=0; void main() { int i,j; printf("*****欢迎使用这个程序,请选择序号*****\n"); scanf("%d",&i); switch(i) { case 1:{ printf("***您选择的是--将十进制数转换为二进制***\n"); printf("请输入一个十进制数:\n"); scanf("%d",&j); er(j); break; } case 2:{ printf("***您选择的是--将十进制数转换为八进制***\n"); printf("请输入一个十进制数:\n"); scanf("%d",&j); ba(j); break; } case 3:{ printf("***您选择的是--将十进制数转换为十六进制***\n"); printf("请输入一个十进制数:\n"); scanf("%d",&j); shiliu(j); break; } default: printf("输入数据不合法,请重新输入\n"); } int er(int m) { if(m/2) { n=m%2; a[c]=n; c++; m=m/2; } for(;c>=1,c--) printf("与其对应的二进制数是 %d",a[c-1]); return a[c-1]; printf("\n"); } int ba(int f) { if(f/2) { n=f%2; a[c]=n; c++; f=f/2; } for(;c>=1,c--) printf("与其对应的八进制数是 %d",a[c-1]); return a[c-1]; printf("\n"); } int shiliu(int k) { if(k/2) { n=k%2; a[c]=n; c++; k=k/2; } for(;c>=1,c--) printf("与其对应的十六进制数是 %d",a[c-1]); return a[c-1]; printf("\n"); }
全部回答
- 1楼网友:一把行者刀
- 2021-03-03 06:49
#include <stdio.h>
main()
{
int i;char ptr=0x0f;
for(i=0;i<8;i++)
{
if(ptr&(0x01<<i))
printf("1");
else
printf("0");
}
printf("\n");
}
- 2楼网友:青尢
- 2021-03-03 06:05
#include<stdio.h>
#include<conio.h>
void main()
{
int d,n,i,j,a[50],Outformat=1;
printf("输入一个数:");
scanf("%d",&n);
if(n==0)
printf("\n十进制 0 转换二进制数:0");
else
{
printf("\n十进制 %d 转换二进制数:1",n);
for(i=1;n!=1;++i)
{
d=n%2;
a[i]=d;
n=n/2;
}
for(j=i-1;j>0;--j)
{
if (Outformat%4==0) printf(" ");//取模的目的是为了每4个一组
++Outformat;
printf("%d",a[j]);
}
}getch();
}
- 3楼网友:迟山
- 2021-03-03 05:09
你好,程序如下:
#include<stdio.h>
void main()
{
int n,i,j;
int a[100];
printf("输入一个数字:\n");
scanf("%d",&n);
if(0==n||1==n)
printf("%d\n",n);
else
{
for(i=0;n/2>0;n/=2,i++)
{
a[i]=n%2;
}
a[i]=n;
for(j=i;j>=0;j--)
printf("%d",a[j]);
printf("\n");
}
}
有疑问提出
望采纳
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯