一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java大數字運算之BigInteger

Java大數字運算之BigInteger

2020-12-22 15:33司機 Java教程

在Java中提供了大數字的操作類,即 java.math.BigInteger 類與 java.math.BigDecimal 類。其中,BigInteger 類是針對大整數的處理類,這里有Integer 類的解釋,使用方法和實例,需要的朋友可以參考下。

         在 Java 中,有許多數字處理的類,比如 Integer 類。但是Integer 類有一定的局限性,下面我們就來看看比 Integer 類更厲害的一個,BigInteger類。 

        BigInteger類型的數字范圍較 Integer 類型的數字范圍要大得多。我們都知道 Integer 是 Int 的包裝類,int 的最大值為 231-1,如果要計算更大的數字,使用Integer 數據類型就無法實現了,所以 Java 中提供了BigInteger 類來處理更大的數字。 BigInteger 支持任意精度的整數,也就是說在運算中 BigInteger 類型可以準確地表示任何大小的整數值而不會丟失任何信息。

        在 BigInteger 類中封裝了多種操作!除了基本的加減乘除操作之外,還提供了絕對值、相反數、最大公約數以及判斷是否為質數等操作。

        使用BigInteger 類,可以實例化一個BigInteger 對象,并自動調用相應的構造函數。BigInteger 類具有很多構造函數,但最直接的一種方式是參數以字符串形式代表要處理的數字。

語法如下:

?
1
public BigInteger(String val)

其中,val 是十進制字符串。

如果將 2 轉換為 BigInteger 類型,可以使用以下語句進行初始化操作:

?
1
BigInteger twoInstance = new BigInteger ("2");

        一旦創建了對象實例,就可以調用 BigInteger 類中的一些方法進行運算操作,包括基本的數學運算和位運算以及一些取相反數、取絕對值等操作。下面是 BigInteger 類幾種常用的運算方法。

?
1
2
3
4
5
6
7
8
9
10
11
public BigInteger add(BigInteger val):做加法運算
public BigInteger subtract(BigInteger val):做減法運算
public BigInteger multiply(BigInteger val):做乘法運算
public BigInteger divide(BigInteger val):做除法運算
public BigInteger remainder(BigInteger val):做取余操作
public BigInteger pow(int exponet):進行取參數的 exponet 次方操作
public BigInteger negate():取相反數
public BigInteger shiftLegt(int n):將數字左移 n 位,如果 n 為負數,做右移操作
public BigInteger shiftRight(int n):將數字右移 n 位,如果 n 為負數,做左移操作
public int compareTo(BigInteger val):做數字比較操作
public BigInteger max(BigInteger val):返回較大的數值
       

下面是一個實例。在項目中創建一個類,在類的主方法中創建 BigInteger 類的實例對象,調用該對象的各種方法實現大整數的加減乘除和其他運算,并輸出運行結果。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
public static void main(String[] args) {
        BigInteger bigInstance = new BigInteger("4"); //實例化一個大數字
        //取該大數字加2的操作
        System.out.println("加法操作:"+
                bigInstance.add(new BigInteger("2")));
        
        //取該大數字減2的操作
        System.out.println("減法操作:"+
                bigInstance.subtract(new BigInteger("2")));
        
        //取該大數字乘以2的操作
        System.out.println("乘法操作:"+
                bigInstance.multiply(new BigInteger("2")));
        
        //取該大數字除以2的操作
        System.out.println("除法操作:"+
                bigInstance.divide(new BigInteger("2")));
    
        //取該大數字除以3的商
        System.out.println("取商:"+
                bigInstance.divideAndRemainder(new BigInteger("3"))[0]);
        
        //取該大數字除以3的余數
        System.out.println("取余數:"+
                bigInstance.divideAndRemainder(new BigInteger("3"))[1]);   
        
        //取該大數字的2次方
        System.out.println("做2次方操作:"+
                bigInstance.pow(2));   
        
        //取該大數字的相反數
        System.out.println("取相反數操作:"+
                bigInstance.negate());
    }
}
       

以上就是關于 BigInteger 類的詳解和實例分析,喜歡的朋友請繼續關注服務器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 青青草色| 福利视频一区青娱 | 国产在线观看福利 | 亚洲黄色大片 | a天堂在线视频 | 色综合天天娱乐综合网 | 91寡妇天天综合久久影院 | 欧美激情亚洲 | 黑人破中国女人处 | 亚洲国产美女精品久久 | 国产精品自拍一区 | 亚洲精品αv一区二区三区 亚洲精品91大神在线观看 | 99精彩免费观看 | 亚洲精品精品一区 | 日本伊人色综合网 | www在线免费观看 | 天堂a免费视频在线观看 | 久久草香蕉频线观 | 美女口述又粗又大感觉 | 美女口述又粗又大感觉 | a一级毛片录像带 录像片 | 成人网久久 | nxgx国产 | 白丝爆动漫羞羞动漫网站 | 极品ts赵恩静和直男激战啪啪 | 污樱桃视频 | 精品国偷自产在线 | 国产九九视频在线观看 | 国产麻豆91网在线看 | 60老妇性xxxxhd | 国产清纯91天堂在线观看 | 陈峰姚瑶全集小说无删节 | 免费yjsp妖精com | 青青草99久久精品国产综合 | 国产里番| 亚州精品视频 | 国产精品亚洲精品日韩已方 | 3d动漫美女物被遭强视频 | 趴好撅高打屁股sp调教h | 深夜免费在线观看 | 九九精品成人免费国产片 |