相关疑难解决方法(0)

28
推荐指数
2
解决办法
2万
查看次数

在c#中通过位掩码存储多个值

我试图通过位掩码将四个独立的 5 位值 (0-31) 存储在 32 位 int 内,但无法正确设置这些值,并从用于存储的掩码 int 中获取各个值。

谁能帮我这个?

编辑:

抱歉外部链接 - 这里有一些 JavaScript 演示了我想要实现的目标(但使用位掩码而不是十进制代数):

var s = 0;

var v = [31, 6, 23, 31];

//save values
s = v[0] + (v[1] * 32) + (v[2] * 1024) + (v[3] * 32768);

console.log(s);

//retrieve values
v[3] = parseInt(s / 32768);
v[2] = parseInt((s - (v[3] * 32768)) / 1024);
v[1] = parseInt((s - ((v[3] * 32768) + (v[2] * 1024))) / 32);
v[0] = parseInt(s - …
Run Code Online (Sandbox Code Playgroud)

c# bitmask bit-masks

3
推荐指数
1
解决办法
3017
查看次数

标签 统计

c# ×2

bit-masks ×1

bitmask ×1

c++ ×1