Wolf_legend145 Asked:2021-10-31 21:15:29 +0000 UTC2021-10-31 21:15:29 +0000 UTC 2021-10-31 21:15:29 +0000 UTC 如何在 Dart 中将二进制转换为数字 772 例如:[0, 0, 0, 1] 被视为 0001,即 1 的二进制表示。 dart 2 个回答 Voted MiT 2021-10-31T23:34:00Z2021-10-31T23:34:00Z 你可以这样做(radix数字系统在哪里): void main() { // to decimal print(int.parse([0, 0, 0, 1].join(), radix: 2)); print(int.parse('0001', radix: 2)); // to binary print(9.toRadixString(2)); } Best Answer Wolf_legend145 2021-11-01T10:54:25Z2021-11-01T10:54:25Z 传统的方法是迭代二进制数字并执行位移和 OR: int binaryArrayToNumber(List<int> digits) { var result = 0; for (var digit in digits) { result <<= 1; result |= digit; } return result; } 一种更简单但不易出错的方法是将数字列表转换为字符串,然后对其进行解析: int binaryArrayToNumber(List<int> digits) => int.parse(digits.join(""), radix: 2);
你可以这样做(
radix数字系统在哪里):传统的方法是迭代二进制数字并执行位移和 OR:
一种更简单但不易出错的方法是将数字列表转换为字符串,然后对其进行解析: