C# - 表示位字段中的整数数组

发布于 2024-10-02 14:21:41 字数 240 浏览 2 评论 0原文

我有一个整数数组,例如

int [] intArray;
intArray = new int[3] { 1, 2 , 40 , 45 , 50};

该数组包含从 1 到 50 的数字,

我想将此数组转换为一位表示,就像

100001000010000............11

我可以在 C# 中执行此操作吗?

i have an array of integer like

int [] intArray;
intArray = new int[3] { 1, 2 , 40 , 45 , 50};

the array contains numbers from 1- to 50

i want to convert this array to one bit represent like

100001000010000............11

who can i do this in c# ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夜雨飘雪 2024-10-09 14:21:41
long bitField = 0;

foreach (int bit in intArray)
    bitField |= 1l << (bit - 1);

根据您的问题,此答案假设基于 1 的位数。如果您希望 0 代表第一位,只需将 (bit - 1) 更改为 bit 即可。

long bitField = 0;

foreach (int bit in intArray)
    bitField |= 1l << (bit - 1);

This answer assumes 1-based bit numbers as per your question. If you would like 0 to refer to the first bit, simply change (bit - 1) to bit.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文