亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java大數(shù)運(yùn)算BigInteger與進(jìn)制轉(zhuǎn)換詳解

 更新時(shí)間:2023年09月23日 11:13:21   作者:little_fat_sheep  
這篇文章主要介紹了Java大數(shù)運(yùn)算BigInteger與進(jìn)制轉(zhuǎn)換詳解,Java 提供了 BigInteger(大整數(shù))類和 BigDecimal(大浮點(diǎn)數(shù))類用于大數(shù)運(yùn)算,這兩個(gè)類都繼承自 Number 類(抽象類),由于 BigInteger 在大數(shù)運(yùn)算中更常見(jiàn),需要的朋友可以參考下

1 前言

Java 提供了 BigInteger(大整數(shù))類和 BigDecimal(大浮點(diǎn)數(shù))類用于大數(shù)運(yùn)算,這兩個(gè)類都繼承自 Number 類(抽象類)。

由于 BigInteger 在大數(shù)運(yùn)算中更常見(jiàn),本博客只介紹 BigInteger,另外也介紹下 Java 內(nèi)置的進(jìn)制轉(zhuǎn)換函數(shù),非常好用?。?!

2 BigInteger 常用方法

包:import java.math.BigInteger;

//初始化
public BigInteger(String val)
public BigInteger(byte[] val)
public static BigInteger valueOf(long val)
//四則運(yùn)算
public BigInteger add(BigInteger val)  //加法
public BigInteger subtract(BigInteger val)  //減法
public BigInteger multiply(BigInteger val)  //乘法
public BigInteger divide(BigInteger val)  //除法(整除)
//取余(取模)
public BigInteger mod(BigInteger m)
public BigInteger remainder(BigInteger val)  
//其他基本運(yùn)算
public BigInteger negate()  //取反
public BigInteger abs()  //絕對(duì)值
public BigInteger pow(int exponent)  //指數(shù)
public BigInteger max(BigInteger val)  //較大者
public BigInteger min(BigInteger val)  //較小者
public BigInteger gcd(BigInteger val)  //最大公約數(shù)
//判斷與比較
public int compareTo(BigInteger val)  //比較大小
public boolean equals(Object x)  //判斷是否相等
//十進(jìn)制轉(zhuǎn)換為其他進(jìn)制
public byte[] toByteArray()  //轉(zhuǎn)換為二進(jìn)制數(shù)組
public String toString(int radix)  //轉(zhuǎn)換為 radix 進(jìn)制數(shù),2<=radix<=36,否則令radix=10
//其他進(jìn)制轉(zhuǎn)換為十進(jìn)制
public BigInteger(String val, int radix)  //將 radix 進(jìn)制的val轉(zhuǎn)換為十進(jìn)制,2<=radix<=36,否則拋出NumberFormatException異常

3 Integer 類中進(jìn)制轉(zhuǎn)換

由于數(shù)字只能由 '0'-'9' 和 'a'-'z' 表示,因此最多只能是36進(jìn)制。在進(jìn)制轉(zhuǎn)換時(shí),經(jīng)常會(huì)用到參數(shù) radix (基數(shù)),表示進(jìn)制數(shù),因此 2<=radix<=36。當(dāng) radix 不在此區(qū)間時(shí),若是十進(jìn)制轉(zhuǎn)換為 radix 進(jìn)制,令 radix=10;若是 radix 進(jìn)制轉(zhuǎn)換為十進(jìn)制,拋出NumberFormatException異常.

3.1 十進(jìn)制轉(zhuǎn)換為其他進(jìn)制

public static String toBinaryString(int i)  將i轉(zhuǎn)換為2進(jìn)制
public static String toOctalString(int i)  將i轉(zhuǎn)換為8進(jìn)制
public static String toHexString(int i)  將i轉(zhuǎn)換為16進(jìn)制
public static String toString(int i, int radix)  將i轉(zhuǎn)換為 radix 進(jìn)制,2<=radis<=36,否則令radis=10

3.2 其他進(jìn)制轉(zhuǎn)換為十進(jìn)制

//將 radix 進(jìn)制數(shù)s轉(zhuǎn)換為十進(jìn)制,2<=radix<=36,否則拋出NumberFormatException異常
public static int parseInt(String s, int radix) throws NumberFormatException
public static Integer valueOf(String s, int radix) throws NumberFormatException

3.3 任意進(jìn)制之間的轉(zhuǎn)換

//將 m 進(jìn)制數(shù)轉(zhuǎn)換為 n 進(jìn)制數(shù)
public static String transform(String s_m,int m,int n) {
    Integer tem=Integer.parseInt(s_m,m); //將m進(jìn)制的s_m轉(zhuǎn)換為10進(jìn)制
    String s_n=Integer.toString(tem,n); //將tem轉(zhuǎn)換為n進(jìn)制
    return s_n;
}

到此這篇關(guān)于Java大數(shù)運(yùn)算BigInteger與進(jìn)制轉(zhuǎn)換詳解的文章就介紹到這了,更多相關(guān)Java的BigInteger與進(jìn)制轉(zhuǎn)換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Maven在Windows中的配置以及IDE中的項(xiàng)目創(chuàng)建實(shí)例

    Maven在Windows中的配置以及IDE中的項(xiàng)目創(chuàng)建實(shí)例

    下面小編就為大家?guī)?lái)一篇Maven在Windows中的配置以及IDE中的項(xiàng)目創(chuàng)建實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09
  • Spring框架開(kāi)發(fā)IOC兩種創(chuàng)建工廠方法詳解

    Spring框架開(kāi)發(fā)IOC兩種創(chuàng)建工廠方法詳解

    這篇文章主要介紹了Spring框架IOC兩種創(chuàng)建工廠方法詳解,文中附含詳細(xì)的代碼示例分別對(duì)靜態(tài)方法和實(shí)例方法創(chuàng)建工廠作了簡(jiǎn)要的分析
    2021-09-09
  • 被kafka-client和springkafka版本坑到自閉及解決

    被kafka-client和springkafka版本坑到自閉及解決

    這篇文章主要介紹了被kafka-client和springkafka版本坑到自閉及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Java面試題沖刺第五天--基礎(chǔ)篇2

    Java面試題沖刺第五天--基礎(chǔ)篇2

    這篇文章主要為大家分享了最有價(jià)值的三道java面試題,涵蓋內(nèi)容全面,包括數(shù)據(jù)結(jié)構(gòu)和算法相關(guān)的題目、經(jīng)典面試編程題等,感興趣的小伙伴們可以參考一下
    2021-07-07
  • 教你在?Java?中實(shí)現(xiàn)?Dijkstra?最短路算法的方法

    教你在?Java?中實(shí)現(xiàn)?Dijkstra?最短路算法的方法

    這篇文章主要教你在?Java?中實(shí)現(xiàn)?Dijkstra?最短路算法的方法,在實(shí)現(xiàn)最短路算法之前需要先實(shí)現(xiàn)帶權(quán)有向圖,文章中給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • volatile與happens-before的關(guān)系與內(nèi)存一致性錯(cuò)誤

    volatile與happens-before的關(guān)系與內(nèi)存一致性錯(cuò)誤

    本文講了Java并發(fā)編程中volatile變量、happens-before與內(nèi)存一致性錯(cuò)誤,下面來(lái)和小編一起學(xué)習(xí)下如何解決
    2019-05-05
  • Java8中用foreach循環(huán)獲取對(duì)象的index下標(biāo)詳解

    Java8中用foreach循環(huán)獲取對(duì)象的index下標(biāo)詳解

    這篇文章主要給大家介紹了關(guān)于Java8中用foreach循環(huán)獲取對(duì)象的index下標(biāo)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Java實(shí)現(xiàn)在線考試系統(tǒng)與設(shè)計(jì)(學(xué)生功能)

    Java實(shí)現(xiàn)在線考試系統(tǒng)與設(shè)計(jì)(學(xué)生功能)

    這篇文章主要介紹了Java實(shí)現(xiàn)在線考試系統(tǒng)與設(shè)計(jì)(學(xué)生功能),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • 一文帶你搞懂Spring響應(yīng)式編程

    一文帶你搞懂Spring響應(yīng)式編程

    相信響應(yīng)式編程經(jīng)常會(huì)在各種地方被提到。本篇就為大家從函數(shù)式編程一直到Spring?WeFlux做一次簡(jiǎn)單的講解,并給出一些示例,希望大家可以更好的理解響應(yīng)式編程
    2022-07-07
  • Java編碼輔助工具Lombok用法詳解

    Java編碼輔助工具Lombok用法詳解

    這篇文章主要介紹了Java編碼輔助工具Lombok用法詳解,可以使用Lombok來(lái)避免這種重復(fù)的操作,減少非核心代碼的臃腫,提高編碼效率,需要的朋友可以參考下
    2019-06-06

最新評(píng)論