使用BinaryWriter将一个位写入二进制文件

Hla*_*son 2 c# byte bit writer binarywriter

我想将一个位写入二进制文件.

using (FileStream fileStream = new FileStream(@"myfile.bin", FileMode.Create))
using (BinaryWriter binaryWriter = new BinaryWriter(fileStream))
{
    binaryWriter.Write((bool)10);
}
Run Code Online (Sandbox Code Playgroud)

binaryWriter.Write((bit)1);
我使用binaryWriter.Write((bool)1)文件时有一个字节,但我想写一个字节.这可能吗?

Bro*_*ass 8

不,不可能写一个位.你必须写至少一个完整的字节.如果你是在一个情况下,你想要写单位,你可以等到你准备好写8位(即排队它们在内存中),然后(即使用位移位等结合起来那些写出一个完整的字节位到一个字节).

也来自维基百科:

从历史上看,字节是用于在计算机中编码单个文本字符的位数,因此它是许多计算机体系结构中的基本可寻址元素.