Bool to bit 在 C# 中
Bool to bit in the C#
我们有两个布尔变量,我想变成这样:
b1 b2 bin int
true , true = 11 (3)
false , true = 01 (2)
true , false = 10 (1)
false , false = 00 (0)
BitVector32
可以做到。
using System.Collections.Specialized;
namespace ConsoleApp5
{
class Program
{
static void Main(string[] args)
{
var b1 = false;
var b2 = true;
var bitvector = new BitVector32();
bitvector[1] = b1;
bitvector[2] = b2;
var intValue = bitvector.Data;
}
}
}
但请记住,索引需要一个位掩码,因此索引需要以 2 的幂数增长。1, 2, 4, 8, 16
等
掩码可以由1 << n
生成。其中 n
是您要访问的位(0 索引)。
BitVector32
还提供了 CreateMask
方法来生成它们。
我们有两个布尔变量,我想变成这样:
b1 b2 bin int
true , true = 11 (3)
false , true = 01 (2)
true , false = 10 (1)
false , false = 00 (0)
BitVector32
可以做到。
using System.Collections.Specialized;
namespace ConsoleApp5
{
class Program
{
static void Main(string[] args)
{
var b1 = false;
var b2 = true;
var bitvector = new BitVector32();
bitvector[1] = b1;
bitvector[2] = b2;
var intValue = bitvector.Data;
}
}
}
但请记住,索引需要一个位掩码,因此索引需要以 2 的幂数增长。1, 2, 4, 8, 16
等
掩码可以由1 << n
生成。其中 n
是您要访问的位(0 索引)。
BitVector32
还提供了 CreateMask
方法来生成它们。