二进制到十进制运动在学校

时间:2017-10-24 23:39:01

标签: c++ visual-c++ binary decimal

所以我们在学校学习c ++,老师告诉我们要把二进制数转换成十进制数。

这是我在main中写的:

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,当我写00001111?

如果标签具有误导性,也很抱歉。我是新人。

1 个答案:

答案 0 :(得分:1)

八进制中的

00001111等于585。

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

注意你的领先零!