如何在dart中将二进制数转换为十进制分数?

GIL*_*ILO 5 dart flutter

您好,我一直想知道是否有一种方法可以将二进制数转换为十进制分数。

我知道如何通过此代码更改基础作为示例

String binary = "11110010";

//I'd like to change this line so it produces a decimal value
String denary = int.parse(binary, radix: 2).toRadixString(10);
Run Code Online (Sandbox Code Playgroud)

小智 7

如果有人仍然想知道如何将十进制转换为二进制及其逆:

  print(55.toRadixString(2)); // Outputs 110111
  print(int.parse("110111", radix: 2)); Outputs 55
Run Code Online (Sandbox Code Playgroud)


Tus*_*kam 0

int binaryToDecimal(int n)
 {
 int num = n;
 int dec_value = 0;

  // Initializing base value to 1, i.e 2^0
  int base = 1;

  int temp = num;
  while (temp) {
    int last_digit = temp % 10;
    temp = temp / 10;

    dec_value += last_digit * base;

    base = base * 2;
 }
return dec_value;
}

int main()
{
  int num = 10101001;
  cout << binaryToDecimal(num) << endl;
 }
Run Code Online (Sandbox Code Playgroud)

这是我的 C++ 解决方案,但您可以实现任何语言