从十进制转换为二进制

时间:2011-12-14 03:15:24

标签: c++

想要将十进制转换为二进制,但我遇到了一些错误。  我现在正在学习十进制数或数字的转换  输入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();
}

1 个答案:

答案 0 :(得分:1)

您可能希望首先解决以下问题,以便进行编译:

using namespace std;

void::binary_calc(double in)void data::binary_calc(double in)

int*=20;你想在那里做什么?