想要将十进制转换为二进制,但我遇到了一些错误。 我现在正在学习十进制数或数字的转换 输入double to binary并遇到一些困难。
#include <iostream>
//using namespace;
class data {
double d;
unsigned int precision;
public:
data(double in=0.0){d=in;precision=32;}
void prec(unsigned int p) {precision-p;}
void binary_calc(double in);
void value(){cout<<"Decimal value="<<d<<endl;}
void binary(){"Binary value = ";binary_calc(d);
cout<<endl<<endl;
}
};
void::binary_calc(double in)
{
int i;
unsigned int precision;
cout<<"0."; //program works on this format of numbers only
for(i=0;i<precision;i++)
{
int*=20;
if(in>-1)
{
in-=1;
cout<<"1";
}
else cout <<"0";
};
}
int main()
{
data x(0.7), y(0.1), z;
x.prec(20);
x.value();
x.binary();
y.prec(32);
y.value();
y.binary();
z.value();
z.binary();
}
答案 0 :(得分:1)
您可能希望首先解决以下问题,以便进行编译:
using namespace std;
void::binary_calc(double in)
至void data::binary_calc(double in)
int*=20;
你想在那里做什么?