|
|
1
3
从 MSDN 以下内容:
例子:
但是,位数组允许您只设置单个位。如果您想用更多的位来编码值,那么很可能没有办法用&s和&124;s以及蒙板之类的东西来进行编码:—) |
|
|
2
1
你可能想看看 BitVector32 .NET框架中的结构。它允许您定义“节”,它是一个int内的位范围,然后读取和写入这些节的值。 主要的限制是它仅限于一个32位整数;这可能是一个问题,也可能不是问题,具体取决于您要做什么。正如DTB所提到的,BitArray可以处理任何大小的位字段,但一次只能获取和设置一个位——不支持BitVector32中的节。 |
|
|
3
0
您要寻找的是所谓的位操作。 例如,假设我们要用一个整数中最不重要的24位来表示一个RGB值,R是23-16位,G是15-8位,B是7-0位。 您可以将r设置为0到255之间的任何值,而不影响其他位,如:
通过使用位AND和ORS(偶尔还有更奇特的操作),您可以轻松地设置和清除较大值的任何单个位。 |
|
|
4
0
我认为,与其使用工具箱或特定于平台的包装类,不如咬紧牙关,学习&S、&S和0x04,以及所有按位运算符的工作方式。总的来说,这就是它对大多数项目所做的工作,而且操作非常快速。在大多数语言中,操作几乎是相同的,因此您不会被某些特定的工具箱所束缚。 |
|
|
MaatDeamon · Marc21 Akka流二进制解码器 8 年前 |
|
|
fhulprogrammer · 在python中连接字符串和二进制数据 11 年前 |
|
|
Cloud · BASh-将十六进制值列表转换为二进制文件(应用程序) 11 年前 |
|
|
GirginSoft · Python将8位整数保存到文件 11 年前 |
|
|
Sss · c#中泛型类型<T>出现未处理的异常,因为文件大小不是字节的倍数 11 年前 |