编程键盘输入十进制数以二进制,八进制,十六进制输出

2024-11-29 01:47:30
推荐回答(1个)
回答(1):

给个10进制转启蔽2进制的。。你可以在根册旁改据2进制转为8进制和16进制。4位2进制是1位16进制,3位2进制是1位8进制#include<州判iostream.h>int a[100];//记录2进制数据
int Icount;//记录2进制整数个数
int Dcount;//记录2进制小数个数void ITen_Two(int ten)//整数转换
{
int i=0;
while(ten>1)
{
a[i]=ten%2;
ten=ten/2;//不用管奇偶
i++;
Icount++;
}
if(ten<=1)
{
a[i]=1;
Icount++;
}
}void DTen_Two(float d)//小数转换
{
int i=Icount;
Dcount=0;
a[i]=0;
while(d!=0 && i<100)
{
d=d*2;
if(d>=1)
{
a[i]=1;
d=d-1;
}
else
a[i]=0;
i++;
Dcount++;
}

}void Out()
{
cout<<"2进制数为:";
for(int i=Icount-1;i>=0;i--)
cout< cout<<".";
for(int j=Icount;j cout< cout<}void main()
{
float x;
int B=1;//结束标志 while(B==1)
{
int I;//整数部分
float D;//小数部分
Icount=0;
Dcount=0;
cout<<"请输入一个10进制浮点数:";
cin>>x;
I=(int)x;
D=x-I;
if(I>0 && D>0)
{
ITen_Two(I);
DTen_Two(D);
}
else if(I==0 && D>0)
DTen_Two(D);
else if(I>0 && D==0)
ITen_Two(I);
else
cout<<"0";
if(I>0 || D>0)
Out();
cout<<"要继续请输入1,否则输入0:";
cin>>B;
}
}