在C#中从字符串转换为BigInteger而不截断前导零's



在一个项目中,我需要做一个逐位&在两个相似的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();    

最新更新