国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

使用BigInteger處理大二進(jìn)制數(shù)

2019-11-18 11:04:35
字體:
供稿:網(wǎng)友

 

在程序中,位邏輯通常需要將一個二進(jìn)制數(shù)進(jìn)行左移或者右移,并且通常還需要在其上進(jìn)行位運算以確定那些位的值被設(shè)置了。假如開發(fā)人員僅僅需要處理64位以下的二進(jìn)制數(shù),他們只需要使用long或者int類型。

假如開發(fā)者需要處理超過64位的二進(jìn)制數(shù),那么他們將需要使用java.math.BigInteger類。(BigInteger是JDK 1.1以后核心API的一個組成部分。)

BigInteger類型備用來處理大整數(shù)。它有幾個構(gòu)造方法,但最直接的一個是用一個java.lang.String類型的對象代表開發(fā)者要處理的數(shù)字。例如:

BigInteger bi = new BigInteger
("FFFFFFFFFFFFFFF", 16);
在上面的代碼中,BigInteger的實例被一個以String和integer類型作為參數(shù)的BigInteger構(gòu)造方法創(chuàng)建,其中integer類型的值用來代表數(shù)字的基數(shù)。

一旦創(chuàng)建了實例,就可以在其上進(jìn)行JDK提供的操作。和java.lang.String類型一樣,BigInteger類也是不變的,所以任何在實例上進(jìn)行的操作都將返回一個新的實例,這個實例的值是操作的結(jié)果。

在BigInteger類中有所有的基本算術(shù)運算方法,如加、減、乘、除,以及可能會用到的位運算如或、異或、非、左移、右移等。下面是一些方法的例子:

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類中,還有其他的構(gòu)造方法和快捷高效的方法使開發(fā)者處理大數(shù)變得更輕易。




發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 广元市| 元阳县| 洛隆县| 同心县| 钦州市| 东阳市| 桦川县| 永川市| 东至县| 大荔县| 根河市| 绥芬河市| 东光县| 榕江县| 肇东市| 两当县| 突泉县| 宁德市| 大冶市| 磴口县| 阿荣旗| 北京市| 石景山区| 竹北市| 高要市| 敦化市| 吴堡县| 上思县| 长海县| 牟定县| 玉山县| 从江县| 延长县| 珠海市| 莆田市| 石景山区| 荣成市| 江都市| 图们市| 丹阳市| 贞丰县|