如何在 Dart 中编写二进制文字

问题描述 投票:0回答:4

如何在 Dart 中编写二进制文字?

我可以像这样写一个十六进制文字:

Int Number = 0xc

如果我尝试用传统的方式编写二进制文字:

Int Number = 0b1100

我收到错误。我试图查找它,但除了十六进制之外我找不到任何信息。

dart numbers literals
4个回答
10
投票

目前 Dart 中没有内置的二进制数字文字(或除 10 和 16 之外的任何基数)。

您能得到的最接近的是:

var number = int.parse("1100", radix: 2);


5
投票

也许你可以用这个:

// 0b1100 -> 1 at 3th bit and 1 at 2nd bit
final number = 1 << 3 | 1 << 2;

// Print binary string
print(number.toRadixString(2)) // 1100

0
投票

尝试二进制包:

import 'package:binary/binary.dart';

void main() {
  // New API.S
  print(0x0C.toBinaryPadded(8)); // 00001100
}

参见:https://pub.dev/documentation/binary/latest/


0
投票

使用扩展的简单解决方法

void main() {
  print(1110111.b); //prints 119
}

extension Binary on int {
  int get b {
    return int.parse(toRadixString(10), radix: 2);
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.