最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

1 前言

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

由于 BigInteger 在大數(shù)運算中更常見,本博客只介紹 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)
//四則運算
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)  
//其他基本運算
public BigInteger negate()  //取反
public BigInteger abs()  //絕對值
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)換時,經(jīng)常會用到參數(shù) radix (基數(shù)),表示進(jìn)制數(shù),因此 2<=radix<=36。當(dāng) radix 不在此區(qū)間時,若是十進(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ù)運算BigInteger與進(jìn)制轉(zhuǎn)換詳解的文章就介紹到這了,更多相關(guān)Java的BigInteger與進(jìn)制轉(zhuǎn)換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot整合jasypt加密配置文件敏感信息

    SpringBoot整合jasypt加密配置文件敏感信息

    在項目中我們需要對配置文件的一些敏感信息進(jìn)行加密處理,比如數(shù)據(jù)庫賬戶密碼,避免直接暴露出來,這種場景常常用于生產(chǎn)環(huán)境,我們不想讓開發(fā)人員知道生產(chǎn)庫的密碼,有運維人員統(tǒng)一管理,所以本文給大家介紹了SpringBoot整合jasypt加密配置文件敏感信息
    2024-06-06
  • 解析電子郵件的基本概念及JavaMail API郵件功能使用

    解析電子郵件的基本概念及JavaMail API郵件功能使用

    這篇文章主要介紹了電子郵件的基本概念及JavaMail API郵件功能使用,包括用Java來發(fā)送郵件的示例,需要的朋友可以參考下
    2016-02-02
  • Spring?Boot快速過濾出一次請求的所有日志

    Spring?Boot快速過濾出一次請求的所有日志

    這篇文章主要介紹了Spring?Boot快速過濾出一次請求的所有日志,本文講述了如何使用MDC工具來快速過濾一次請求的所有日志,并通過裝飾器模式使得MDC工具在異步線程里也能生效,需要的朋友可以參考下
    2022-11-11
  • Java實現(xiàn)多級表頭和復(fù)雜表頭的導(dǎo)出功能

    Java實現(xiàn)多級表頭和復(fù)雜表頭的導(dǎo)出功能

    這篇文章主要為大家詳細(xì)介紹了Java實現(xiàn)多級表頭和復(fù)雜表頭的導(dǎo)出功能的相關(guān)知識,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • 通過實例了解Java Integer類和int的區(qū)別

    通過實例了解Java Integer類和int的區(qū)別

    這篇文章主要介紹了通過實例了解Java Integer類和int的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • 基于UncategorizedSQLException異常處理方案

    基于UncategorizedSQLException異常處理方案

    這篇文章主要介紹了基于UncategorizedSQLException異常處理方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • MyBatis?SqlSession執(zhí)行流程小結(jié)

    MyBatis?SqlSession執(zhí)行流程小結(jié)

    本文主要介紹了MyBatis?SqlSession執(zhí)行流程小結(jié),涵蓋動態(tài)代理、Executor、StatementHandler等組件,及參數(shù)處理、結(jié)果映射與緩存機(jī)制,感興趣的可以了解一下
    2025-05-05
  • maven 配置多個倉庫的方法

    maven 配置多個倉庫的方法

    這篇文章主要介紹了maven 配置多個倉庫的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Mybatis如何實現(xiàn)延遲加載及緩存

    Mybatis如何實現(xiàn)延遲加載及緩存

    這篇文章主要介紹了Mybatis如何實現(xiàn)延遲加載及緩存,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • 淺談Java中Collection和Collections的區(qū)別

    淺談Java中Collection和Collections的區(qū)別

    下面小編就為大家?guī)硪黄獪\談Java中Collection和Collections的區(qū)別。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08

最新評論

高邑县| 罗田县| 武汉市| 安阳市| 丁青县| 皮山县| 东明县| 新宁县| 葵青区| 平邑县| 建阳市| 平昌县| 嫩江县| 张家川| 鄂尔多斯市| 河池市| 灵川县| 长寿区| 清镇市| 千阳县| 凉城县| 平遥县| 密云县| 乌兰浩特市| 马山县| 旬阳县| 昌宁县| 新丰县| 高唐县| 即墨市| 抚松县| 白沙| 安图县| 海宁市| 饶阳县| 介休市| 盐边县| 通河县| 晴隆县| 扎鲁特旗| 唐海县|