0
私たちは学校でC++を学んでおり、先生はバイナリを10進数に変換するプログラムを作成するように指示しました。学校でのバイナリから小数への練習
これは私がメインで書いたものです:
int i = 0, e = 0,n = 00001111 , c;
while (n > 0)
{
cout << "n= " << n << endl << "e= " << e << endl;
c = n % 2;
n = n/10;
if (c == 1)
{
e = e + (int)pow(c * 2, i);
}
i++;
}
cout << e << endl;
system("pause");
出力が あるhere
はn = 585、iは00001111を書いたとき、なぜ私の質問はありますか?
タグが誤解を招く場合は、申し訳ありません。私はこれで新しいです。
既にnの値は585ですが、2番目の値は宣言するときに値を与えます。また、私はデバッガに熟練していません。 –
00001111は小数点ではなく8進数です。 – willll
コンパイラは00001111を8進数として読み込みますか?それは8ビットの2進数であるが、10進数で書かれているので、10で除算することができます。コンパイラに値を小数点として読み込ませる方法はありますか? –