Почему получаются разные значения при преобразовании
var bytes = new byte[]{-60, 86, 47};
System.out.println(new BigInteger(bytes).toString(16));
var bytes1 = new byte[]{-60, 86, 47};
System.out.println(new BigInteger(1, bytes).toString(16));
Результат:
-3ba9d1
c4562f
Поясни как это работает?