我需要在区间 [–1024, 1016] 中转换数字。我正在转换为这样的 11 位:
string s = Convert.ToString(value, 2); //Convert to binary in a string
int[] bits = s.PadLeft(11, '0') // Add 0's from left
.Select(c => int.Parse(c.ToString())) // convert each char to int
.ToArray(); // Convert IEnumerable from select to Array
这对于有符号整数 [0, 1016] 非常有效。但是对于负整数,我得到 32 位结果。您知道如何将负整数转换为 11 位数组吗?