繁体   English   中英

使用LSB c#将字符串转换为int32

[英]convert string to int32 with LSB c#

我有二进制字符串和Int32数组。

如何将二进制字符串(字符串的每个11位)转换为int数组上的Int32值(11 LSB)?

我尝试了这个:

for (int i = 0; i <(string.Length); i++) { 
    if (count1 >= string.Length - 21) 
        break; 
    else 
        string = string.Insert(count1, "000000000000000000000"); 
        count1 += 31; 
} 
int numOfBytes = string.Length / 32; 
int[] ints = new int[numOfBytes]; 
for (int i = 0; i < numOfBytes; ++i) { 
    ints[i] = Convert.ToInt32(string.Substring(32 * i, 32), 2); 
}

但它返回错误值

Int32[] BinaryStringToInt32Array(const string binaryString, const int bitCount)
{
    Int32[] results = new Int32[binaryString.Length/bitCount];
    for (int i = 0; i < results.Length; i++)
    {
        string str = binaryString.Substring(i * bitCount, bitCount);
        results[i] = Convert.ToInt32(str, 2);
    }

    return results;

}

请注意,如果binaryString的长度不是bitCount的倍数,则此函数将忽略所有剩余的位。 在您的情况下,bitCount为11。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM