如何在 Dart 中编写二进制文字?
我可以像这样写一个十六进制文字:
Int Number = 0xc
如果我尝试用传统的方式编写二进制文字:
Int Number = 0b1100
我收到错误。我试图查找它,但除了十六进制之外我找不到任何信息。
目前 Dart 中没有内置的二进制数字文字(或除 10 和 16 之外的任何基数)。
您能得到的最接近的是:
var number = int.parse("1100", radix: 2);
。
也许你可以用这个:
// 0b1100 -> 1 at 3th bit and 1 at 2nd bit
final number = 1 << 3 | 1 << 2;
// Print binary string
print(number.toRadixString(2)) // 1100
尝试二进制包:
import 'package:binary/binary.dart';
void main() {
// New API.S
print(0x0C.toBinaryPadded(8)); // 00001100
}
使用扩展的简单解决方法
void main() {
print(1110111.b); //prints 119
}
extension Binary on int {
int get b {
return int.parse(toRadixString(10), radix: 2);
}
}