在学校进行二进制到十进制的练习

Binary to decimal exercise at school

本文关键字:十进制 练习 二进制 学校      更新时间:2023-10-16

所以我们在学校学习C ++,我们的老师告诉我们制作一个程序,将二进制转换为十进制数。

这是我主要写的:

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");

输出为这里

我的问题是为什么当我写00001111时 n=585?

如果标签具有误导性,也深表歉意。我是新手。

进制的00001111等于十进制的585。

http://en.cppreference.com/w/cpp/language/integer_literal

注意你的前导零!