JavaJumper Asked:2021-10-30 06:04:24 +0000 UTC2021-10-30 06:04:24 +0000 UTC 2021-10-30 06:04:24 +0000 UTC bool[64] 到 ulong 772 我有一个需要转换为 ulong 的 bool[64] 数组。我试了半天,还是没有成功。请写一个解释 c# 1 个回答 Voted Best Answer aepot 2021-10-30T07:22:32Z2021-10-30T07:22:32Z 不是理想的解决方案,而是有效的事实。 private ulong ArrayToUInt64(bool[] arr) { if (arr.Length < 64) throw new ArgumentException("Wrong array length", nameof(arr)); ulong result = 0; ulong j = 1; for (int i = 0; i < 64; i++) { if (arr[i]) result |= j; j *= 2; } return result; } 你真的需要解释吗?简单的二进制算术。1 - 第一位,2 - 第二位,4 - 第三位,8 - 第四位,依此类推 63 次乘以 2。运算符|是二进制加法“或”,打开位。
不是理想的解决方案,而是有效的事实。
你真的需要解释吗?简单的二进制算术。1 - 第一位,2 - 第二位,4 - 第三位,8 - 第四位,依此类推 63 次乘以 2。运算符
|
是二进制加法“或”,打开位。