nBitLength = bitLength(0, magnitude);
return 0; }   bitLength = 32 * ((mag.length - indx) - 1);   bitLength += bitLen(mag[indx]);  if (sign < 0) {  boolean pow2 = ((bitCounts[mag[indx] & 0xff]) + (bitCounts[(mag[indx] >> 8) & 0xff]) + (bitCounts[(mag[indx] >> 16) & 0xff]) + (bitCounts[(mag[indx] >> 24) & 0xff])) == 1;  for (int i = indx + 1; i < mag.length && pow2; i++) { pow2 = (mag[i] == 0); }  bitLength -= (pow2 ? 1 : 0);
    public int bitLength()    {        if (nBitLength == -1)        {            if (sign == 0)            {                nBitLength = 0;            }            else            {                nBitLength = bitLength(0, magnitude);            }        }        return nBitLength;    }