byte [] bitset(char cInput)
{
byte [] aryReturn = new byte[16];
for(int i = 0 ; i < 16 ; i++)
{
cInput <<= 1;
aryReturn[i] = cInput >> 15;
}
return aryReturn;
}
随便写的,不知道可不可以,我没测试

解决方案 »

  1.   

    我的意思是有没有像bitset那样定义一个变量A,可以用字符B付值,然后输出A就是字符B的8位01串?还有有没有将8位01串直接转换成对应的字符的函数?
      

  2.   

    8位01串?是字符串还是byte数组串??
      

  3.   

    麻烦你用BitArray,通过它的构造函数就能够达到你的目的了:BitArray 构造函数  [C#]请参见
    BitArray 类 | BitArray 成员 | System.Collections 命名空间 | C++ 托管扩展编程 
    语言
    C#C++JScriptVisual Basic全部显示
    初始化 BitArray 类的新实例,可指定该实例的容量和初始值。重载列表
    初始化 BitArray 类的新实例,该实例包含从指定的 BitArray 复制的位值。受 .NET Framework 精简版的支持。[Visual Basic] Public Sub New(BitArray)
    [C#] public BitArray(BitArray);
    [C++] public: BitArray(BitArray*);
    [JScript] public function BitArray(BitArray);
    初始化 BitArray 类的新实例,该实例包含从指定的布尔值数组复制的位值。受 .NET Framework 精简版的支持。[Visual Basic] Public Sub New(Boolean())
    [C#] public BitArray(bool[]);
    [C++] public: BitArray(bool __gc[]);
    [JScript] public function BitArray(Boolean[]);
    初始化 BitArray 类的新实例,该实例包含从指定的字节数组复制的位值。受 .NET Framework 精简版的支持。[Visual Basic] Public Sub New(Byte())
    [C#] public BitArray(byte[]);
    [C++] public: BitArray(unsigned char __gc[]);
    [JScript] public function BitArray(Byte[]);
    初始化 BitArray 类的新实例,该实例可拥有指定数目的位值,位值最初设置为 false。受 .NET Framework 精简版的支持。[Visual Basic] Public Sub New(Integer)
    [C#] public BitArray(int);
    [C++] public: BitArray(int);
    [JScript] public function BitArray(int);
    初始化 BitArray 类的新实例,该实例包括从指定的 32 位整数数组复制的位值。受 .NET Framework 精简版的支持。[Visual Basic] Public Sub New(Integer())
    [C#] public BitArray(int[]);
    [C++] public: BitArray(int __gc[]);
    [JScript] public function BitArray(int[]);
    初始化 BitArray 类的新实例,该实例可拥有指定数目的位值,位值最初设置为指定值。受 .NET Framework 精简版的支持。[Visual Basic] Public Sub New(Integer, Boolean)
    [C#] public BitArray(int, bool);
    [C++] public: BitArray(int, bool);
    [JScript] public function BitArray(int, Boolean);
      

  4.   

    其中Byte数组的那个构造函数就是你想要的东西:BitArray 构造函数 (Byte[])  [C#]请参见
    BitArray 类 | BitArray 成员 | System.Collections 命名空间 | BitArray 构造函数重载列表 | BitArray 成员(Visual J# 语法) | C++ 托管扩展编程 
    要求
    平台: Windows 98, Windows NT 4.0, Windows ME, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 系列, .NET Framework 精简版 - Windows CE .NET
    语言
    C#C++JScriptVisual Basic全部显示
    初始化 BitArray 类的新实例,该实例包含从指定的字节数组复制的位值。[Visual Basic]
    Public Sub New( _
       ByVal bytes() As Byte _
    )[C#]
    public BitArray(
       byte[] bytes
    );[C++]
    public: BitArray(
       unsigned char bytes __gc[]
    );[JScript]
    public function BitArray(
       bytes : Byte[]
    );参数
    bytes 
    包含要复制的值的字节数组,其中每个字节表示 8 个连续位。 
    异常
    异常类型 条件 
    ArgumentNullException bytes 为空引用(Visual Basic 中为 Nothing)。 备注
    该数组中的第一个字节表示 0 到 7 位,第二个字节表示 8 到 15 位,依此类推。每个字节的“最低有效位”表示最小索引值:" bytes [0] & 1" 表示位 0," bytes [0] & 2" 表示位 1," bytes [0] & 4" 表示位 2,等等。
      

  5.   

    比如
    int a=97;
    bitset<8> b(a);
    b中存的就是8位01串,
    在C#中有没有一个自带的可以直接将一个整型数转换成01串的类呢,像上面的bitset.
      

  6.   

    int a = 97;
    byte[] bs = BitConverter.GetBytes(a);
    BitArray b = new BitArray(bs);……都不知道该说什么好。
      

  7.   

    byte[] bytes = System.Text.Encoding.Default.GetBytes(str)