位掩码和 -offset by offset 和 length
Bitmask and -offset by offset and length
我想创建一个位掩码和位掩码偏移量和长度。
例如:
offset = 8
和
length = 4
位掩码应为:0xF00 = 3840(十进制)(1111.0000.0000)
位偏移量应为:0x100 = 256(十进制)
我尝试了以下方法,但这是错误的:
ulong mask = 0;
for (int i = 0; i < offset; i++)
{
mask += (1 << 1) | 0;
}
我该怎么做?
一种方式可能是这样的:
ulong mask = ((1 << length) - 1) << offset;
我不清楚你为什么想要 bitoffset
值,但这应该只是按你的 offset
值移动的问题,对吧?例如:
ulong bitoffset = 1 << offset;
我想创建一个位掩码和位掩码偏移量和长度。
例如:
offset = 8
和
length = 4
位掩码应为:0xF00 = 3840(十进制)(1111.0000.0000)
位偏移量应为:0x100 = 256(十进制)
我尝试了以下方法,但这是错误的:
ulong mask = 0;
for (int i = 0; i < offset; i++)
{
mask += (1 << 1) | 0;
}
我该怎么做?
一种方式可能是这样的:
ulong mask = ((1 << length) - 1) << offset;
我不清楚你为什么想要 bitoffset
值,但这应该只是按你的 offset
值移动的问题,对吧?例如:
ulong bitoffset = 1 << offset;