Метод bitLength класса BigInteger используется для возврата количества бит в минимальном представлении двоичного числа этого BigInteger, исключая знаковый бит.
Минимальное двоичное представление дополнения -4 равно "100 ", исключив знаковый бит, мы получим" 00 "длиной 2 бита. Так что возвращается 2.