私はabyte[]
をaに変換していて、BigInteger
それが確実にポジティブになるようにしたいのです。ドキュメントは言う:
正の値が負の値として誤って解釈されるのを防ぐために、配列の最後にゼロバイトの値を追加できます。
しかし、それは方法を指定していません。だから、どうすればこれを行うことができますか?
これが最も簡単であることがわかりました:
public static BigInteger UnsignedBigInt(byte[] bytes)
{
if ((bytes[bytes.Length - 1] & 0x80) != 0) Array.Resize(ref bytes, bytes.Length + 1);
return new BigInteger(bytes);
}