有时处理数字范围较大的数字相对麻烦,但有了BigInteger就可以完美解决,BigInteger具体的范围到底有多大,我之前查找了下,说是理论无穷大,看内存的大小(只供参考)
本文主摘:
- int 与 BigInteger之间的相互转化方法
- 使用BigInteger时的注意事项
- BigInteger的常用方法
主摘1:
1 import java.math.*; 2 public class Day1{ 3 public static void main(String[] args){ 4 //int 与 BigInteger之间的正确转换方法: 5 //int 转换为 BigInteger的方法: 6 int p = 1; 7 BigInteger a = BigInteger.valueOf(p); 8 9 10 //BigInteger 转换为 int的方法: 11 BigInteger d = new BigInteger("9"); 12 int temp = d.intValue();*/ 13 } 14 }
主摘2:
注意: 1:下边这种格式是错误的,错误的,错误的!别看错,是错误的!BigInteger 与 int 之间是不能直接相互转化的,别直接用
1 import java.math.*; 2 public class Day1{ 3 public static void main(String[] args){ 4 BigInteger temp = new BigInteger("9"); 5 int a = 1; 6 System.out.println(temp+a); 7 } 8 }
2:使用BigInteger时要引用:import java.math.*;
主摘3:
1 import java.math.*; 2 public class Day1{ 3 public static void main(String[] args){ 4 //常用方法: 5 BigInteger temp = new BigInteger("9"); 6 BigInteger temp1 = new BigInteger("6"); 7 BigInteger temp2 = new BigInteger("-6"); 8 //add();-------加法 9 System.out.println(temp.add(temp1)); 10 //subtract();-------减法 11 System.out.println(temp.subtract(temp1)); 12 //multiply()-------惩罚 13 System.out.println(temp.multiply(temp1)); 14 //divide()-------相除取整 15 System.out.println(temp.divide(temp1)); 16 //remainder()与mod()-------取余 17 System.out.println(temp.remainder(temp1)); 18 System.out.println(temp.mod(temp1)); 19 //negate()------取相反数 20 System.out.println(temp.negate()); 21 //abs()------取绝对值 22 System.out.println(temp2.abs()); 23 //min(),max()------取最大与最小值 24 System.out.println(temp1.min(temp2)); 25 System.out.println(temp1.max(temp2)); 26 //gcd()------取最大公约数 27 System.out.println(temp1.gcd(temp)); 28 } 29 }
如有个别回答错误,评论指出,我必更改,谢谢!??
原文地址:https://www.cnblogs.com/Hrain/p/10354916.html
时间: 2024-11-09 00:57:04