正在做一个项目,我需要在两个相似的168个字符位数组之间进行按位运算。我在C#中工作,当我尝试从String转换为BigInteger时,前导零被截断。我有什么办法可以保存这些字符?
基本上:
string bits = "000000000000000000000000000000000000000000000000000000000000000000001111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
BigInteger bigIntBits = BigInteger.Parse(bits);
// I am being returned 1111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
任何事情都会有所帮助。先感谢您。
答案 0 :(得分:0)
您可以简单地执行以下操作:
string bits = "000000000000000000000000000000000000000000000000000000000000000000001111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";
// convert to big integer
var bigIntBits = BigInteger.Parse(bits);
int index = bits.IndexOf('1');
string backToString = new string('0', index) + bigIntBits.ToString();