Похоже, что byte[]
конструктор рассматривает входные данные как обычные данные дополнения 2, тогда как конструктор hex рассматривает его как нудную шестнадцатеричную строку.
Используя это, new BigInteger(int signum, byte[] magnitude)
вы можете заставить значение быть положительным, так new BigInteger(1, b)
будет 38068
.