二进制到十进制

avi*_*irk 1 c# c++

int rem, count = 0;
long int n=0, b, i;

count << "Enter the Binary value to convert in Decimal = ";
cin >> b;
i = b;

while (b > 0)
{
    rem = b % 10;
    n = n + rem * pow(2, count);
    count++;
    b = b / 10;
}

cout << "The decimal value of Binary no. = " << i << " = " << n;
getch();
Run Code Online (Sandbox Code Playgroud)

我用C++编写了这个简单的程序,现在我想在C#中实现它,但我不能这样做,因为我不知道如何实现我在循环中使用的逻辑.因为在C++中,关键字pow用于乘以值,2所以我不知道如何在C#中使用它.

unw*_*ind 7

不,pow()不是关键字,它是标准库的功能math.h.

在这种情况下,对于C++和C#,您可以轻松替换它:

(int) pow(2, count) == 1 << count
Run Code Online (Sandbox Code Playgroud)

以上情况适用于所有正值count,直到平台/语言精度的极限.

我相信整个问题使用转移更容易解决.