在一个项目中,我需要做一个逐位&在两个相似的168个字符的位阵列之间。我在C#中工作,当我试图从String转换为BigInteger时,前导零被截断。我能做些什么来保存这些字符吗?
基本上:
string bits = "000000000000000000000000000000000000000000000000000000000000000000001111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
BigInteger bigIntBits = BigInteger.Parse(bits);
// I am being returned 1111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
任何事情都会有所帮助。提前谢谢。
您可以简单地执行以下操作:
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();