public BigInteger (int signum, byte [] magnitude)

Translates the sign-magnitude representation of a BigInteger into a
BigInteger. The sign is represented as an integer signum value: -1 for
negative, 0 for zero, or 1 for positive. The magnitude is a byte array
in *big-endian* byte-order: the most significant byte is the
zeroth element. A zero-length magnitude array is permissible, and will
result in a BigInteger value of 0, whether signum is -1, 0 or 1. The
` magnitude`

array is assumed to be unchanged for the duration of
the constructor call.

`signum` | signum of the number (-1 for negative, 0 for zero, 1 for positive). | |

`magnitude` | big-endian binary representation of the magnitude of the number. |

`NumberFormatException` | ` signum` is not one of the three
legal values (-1, 0, and 1), or ` signum` is 0 and
` magnitude` contains one or more non-zero bytes. |

Diagram: BigInteger, BigDecimal