c# - 如何将 uint 转换为 bool 数组?
问题描述
例如
uint <- 1
我想得到
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
如果
uint <- 8
得到它
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
只是按位格式化,我该怎么办?
解决方案
您可以为此尝试Linq :
using System.Linq;
...
uint source = 8;
int[] result = Enumerable
.Range(0, sizeof(uint) * 8)
.Reverse()
.Select(i => (source & (1 << i)) == 0 ? 0 : 1)
.ToArray();
Console.Write(string.Join(" ", result));
结果:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
如果你想bool[] result
查询可以
bool[] result = Enumerable
.Range(0, sizeof(uint) * 8)
.Reverse()
.Select(i => (source & (1 << i)) != 0)
.ToArray();
推荐阅读
- reactjs - React 不会渲染通过路由访问的我新创建的组件
- ssl - Traefik V2 和 Cloudflare:SSL 错误子域 ERR_SSL_VERSION_OR_CIPHER_MISMATCH
- aws-lambda - MS Teams 的 AWS Lambda 函数
- xamarin - 在 Xamarin 表单中突出显示 CollectionView 中的选定项目
- java - 如何使用 PDFBox 提取页面上不在图像后面的所有文本?
- python - 为隐马尔可夫模型创建转移矩阵
- node.js - NodeJS 调试不适用于机器人框架 - 断点不起作用
- swift - 我怎样才能阻止我的框架不断被快速重新加载
- javascript - 如何模拟由 mobx 商店导入的辅助函数发出的异步 axios 请求
- java - java.lang.NullPointerException: android.widget.ListView.setAdapter(android.widget.ListAdapter)' 在空对象引用上