想要將十進制轉換爲二進制,但我得到一些錯誤。 我現在正在學習將十進制數字或數字與 類型double轉換爲二進制,並且遇到一些困難。從十進制轉換爲二進制
#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();
}
你試過編譯它嗎?你期望的結果是什麼? – fefe
你想打印什麼? double的二進制表示形式,還是由double表示的十進制數的二進制表示形式? – Lalaland
它正在編譯?我看到這個「精確-p」的陳述。這是一個編輯錯誤?什麼是預期的和實際的輸出 – Arunmu