private void ceil0() {
		if (isZero()) {
			return;
		}
		else if (scale < 0) {
			makeOne();
			return;
		}

		int nbitsUnderOne = fracbits - scale - 1;
		boolean increment = unscaled.getLowestSetBit() < nbitsUnderOne;
		unscaled = unscaled.shiftRight(nbitsUnderOne).shiftLeft(nbitsUnderOne);
		if (increment) {
			unscaled = unscaled.add(BigInteger.ONE.shiftLeft(nbitsUnderOne));
		}

		// if we carry to a new bit, change the scale
		if (unscaled.bitLength() > fracbits) {
			upscale(-1);
		}
	}
{@code this=sqrt(this)}

	<p>Square root by abacus algorithm, Martin Guy @ UKC, June 1985.
	From a book on programming abaci by Mr C. Woo.
	Argument is a positive integer, as is result.

 <p>adapted from http://medialab.freaknet.org/martin/src/sqrt/sqrt.c
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/pcode/floatformat/BigFloat.java