在程序中,位邏輯通常需要將一個二進制數進行左移或者右移,并且通常還需要在其上進行位運算以確定那些位的值被設置了。假如開發人員僅僅需要處理64位以下的二進制數,他們只需要使用long或者int類型。
假如開發者需要處理超過64位的二進制數,那么他們將需要使用java.math.BigInteger類。(BigInteger是JDK 1.1以后核心API的一個組成部分。)
BigInteger類型備用來處理大整數。它有幾個構造方法,但最直接的一個是用一個java.lang.String類型的對象代表開發者要處理的數字。例如:
BigInteger bi = new BigInteger
("FFFFFFFFFFFFFFF", 16);
在上面的代碼中,BigInteger的實例被一個以String和integer類型作為參數的BigInteger構造方法創建,其中integer類型的值用來代表數字的基數。
一旦創建了實例,就可以在其上進行JDK提供的操作。和java.lang.String類型一樣,BigInteger類也是不變的,所以任何在實例上進行的操作都將返回一個新的實例,這個實例的值是操作的結果。
在BigInteger類中有所有的基本算術運算方法,如加、減、乘、除,以及可能會用到的位運算如或、異或、非、左移、右移等。下面是一些方法的例子:
BigInteger result = bi.multiply(new BigInteger("2"));
System.out.PRintln(result);
result = bi.divide(new BigInteger("2"));
System.out.println(result);
result = bi.add(new BigInteger("232"));
System.out.println(result);
result = bi.suBTract(new BigInteger("23122"));
System.out.println(result);
result = bi.shiftRight(10);
System.out.println(result);
在BigInteger類中,還有其他的構造方法和快捷高效的方法使開發者處理大數變得更輕易。
新聞熱點
疑難解答