BigInteger を負の数として出力する必要がありますが、ToString("X") の Hex オーバーロードは正しくありません。
BigInteger be1 = new BigInteger();
be1 = 0x7e;
Console.WriteLine(be1.ToString()); // 126
Console.WriteLine(be1.ToString("X")); // 7E
Console.WriteLine(be1.ToString("x")); // 7e
Console.WriteLine();
be1 = BigInteger.Negate(be1);
Console.WriteLine(be1.ToString()); // -126 OK
Console.WriteLine(be1.ToString("X")); // 82 WRONG
Console.WriteLine(be1.ToString("x")); // 82 WRONG
何か間違ったことをしているのですが、どうすれば修正できますか?
(これを行う価値があるため、C++ 配列として示されている 16 進出力をここで一致させることができます)