Bitvector64进行转换.Section到Bitvector32
本文关键字:Bitvector32 Section 转换 Bitvector64 | 更新日期: 2023-09-27 18:05:38
我已经为BitVector64创建了mysec变量。对于小于8的版本,我想使用BitVector32
生成值 static BitVector64.Section mySect1;
static BitVector64.Section mySect2;
static BitVector64.Section mySect3;
if (versions) > 7)
mySect2 = BitVector64.CreateSection(14, mySect1); // V1 - 3 bits
else
mySect3 = BitVector32.CreateSection(7, mySect2);
我现在需要什么
- Mysect2在BitVector64.Section中具有值。我需要将显式转换为BitVector32。
下面的对话对我不起作用
mySect3 = BitVector32.CreateSection(7, (BitVector32.Section) mySect2);
- 将在BItVector32中获得值。mysect3的Section需要转换为BitVector64。部分
下面的对话对我不起作用
mySect3 = BitVector32.CreateSection(7, (BitVector32.Section) mySect2) as BitVector34.Section;
或
mySect3 = (BitVector64.Section) BitVector32.CreateSection(7, (BitVector32.Section) mySect2) ;
在。net框架中没有名为"BitVector64"的类型。我猜你是从哪里抄来的。显然,您复制的这段代码不支持从BitVector32的隐式转换。Section转换为BitVector64.Section.
这并不奇怪,它提供的优化非常小。相反,从int到ulong的转换相对昂贵,不值得节省很少的内存。
BitVector32(可能还有BitVector64)显式地使位操作快速有效。比BitArray更快,因为它可以利用cpu寄存器操作。