永发信息网

C语言能输出二进制数吗?

答案:5  悬赏:40  手机版
解决时间 2021-02-26 05:28
C语言能输出二进制数吗?
最佳答案
当然可以输出了的啊,但是在输出的时候需要进行转换的,现在提供一个十进制到任意进制的转换程序,你可以在编写程序的时候参考一下。
源程序如下:
#include<stdio.h>
#include<math.h>
void main()
{
int i=0,n,j,a[20],b[20],k,c=0;
double m,x,d;
printf("请输入需要转换的数:");
scanf("%lf",&x);
printf("请输入要转换成的进制(1<N<=16):");
scanf("%d",&n);
if(x<0)
m=fabs(x);
else
m=x;
k=(int)m;//强制类型转换,可以使用k=(int)m;代替,从而更加的一目了然
while(k)//判定需要转换的数是否变为0
{
a[i++]=k%n;//取余,进行进制转换,但是顺序与正确值相反
k/=n;//转换一位之后进行相应的变化
}
if(m!=(int)m)//选择性计算,如果是整数就不用进行这一步的计算了,这样可以节约程序的运行时间
{
d=m-(int)m;//取小数部分
while(d!=0)
{
b[c]=(int)(d*n);//算法为×N取整
d=d*n-b[c];
c++;
if(c>=10)
break;//主要是控制小数后面万一出现无限小数的时候好跳出循环以免出现死循环
}
}
printf("转换结果为:");
if(x<0)
printf("-");
for(j=i-1;j>=0;j--)//反序输出,大于10的数字进行相应的变化
{
if(a[j]==10)
printf("A");
else
if(a[j]==11)
printf("B");
else
if(a[j]==12)
printf("C");
else
if(a[j]==13)
printf("D");
else
if(a[j]==14)
printf("E");
else
if(a[j]==15)
printf("F");
else
printf("%d",a[j]);
}
if(m!=(int)m)//选择性输出,这样可以节约输出时间和程序的运行时间
{
printf(".");
for(j=0;j<c;j++)//正序输出
{
if(b[j]==10)
printf("A");
else
if(b[j]==11)
printf("B");
else
if(b[j]==12)
printf("C");
else
if(b[j]==13)
printf("D");
else
if(b[j]==14)
printf("E");
else
if(b[j]==15)
printf("F");
else
printf("%d",b[j]);
}
}
if(c>=10)//如果是无限小数则在后以省略号表示
printf("......");
printf("\n");//输出换行,以使程序的输出结果美观
}
可能在程序的编写上有点臃肿的,使用函数可以简化很多的,但是最为参考就没有使用函数的啦,你在使用的过程中可以适当修改使用。祝你学的开心!
全部回答
当然可以了
void PutBinary32(int data) { int i; for(i=0;i<32;i++) { printf("%d",data&(1<<(31-i)) ? 1:0); } printf("\r\n"); }
不能,只能用十进制,八进制和十六进制。
不能!! %d以十进制 %o以八进制 %x以十六进制 没有二进制的!!! ----------------------------------------- 楼上的 pucxx - 你那个是二进制的吗??
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
怎样治孩子驼背孩子14岁
瓦房店市动物卫生监督管理局驼山动物卫生监督
北戴河距离黄骅市有多少华里北戴河离黄骅市有
【最后一秒】第一秒内的位移是什么意思?最后
耳钉圆的好?还是花形的好?
签了卖房合同不想卖了合同上是5万元订金,当
清朝刻壁画全木的有什么价值
tfboys真的参加变形计了吗
榴莲作文250字用总分总结构写
如何拒绝家里亲戚介绍的女孩(不影响女孩家里
寇氏减肥LH0321这个地址在什么地方,我要处理
有没有谁知道园林绿化需要哪些专业知识?
人体的肺泡壁很薄,由构成,肺泡周围有丰富的
20.―3.8等于多少
全民K歌爱上你的好天气为什么下架了
推荐资讯
拳皇98八神庵大招
Visual C++ 2005受欢迎原因
跟金融有关的网名
东莞总站离深圳宝安沙井客运中心有多远?坐车
农村信用社杨兴信用社地址在哪,我要去那里办
被印度称为“圣河”、俄罗斯誉为“母亲河”的
安徽康美可生物科技有限公司是不是真的?
《理发店的老爷爷》哪里有下载。视频
一德3成养生堂(旗舰店)怎么去啊,有知道地址
树月季花耐寒极限是多少度
儿童斜视术后护理
一墒地相当于多少亩
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?