博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
大数字运算——1、BigInteger
阅读量:4930 次
发布时间:2019-06-11

本文共 2846 字,大约阅读时间需要 9 分钟。

package com.wh.BigInteger;import java.math.BigInteger;import java.util.Arrays;/** * @author 王恒 * @datetime 2017年4月6日 上午11:08:21 * @description * 实现两个超级大的数据进行运算 */public class TestBigInteger {	public static void main(String[] args) {		BigInteger b1 = new BigInteger("111111111111111111111111111111111111111111");		BigInteger b2 = new BigInteger("222222222222222222222222222222222222222222");		BigInteger b3 = new BigInteger("10");		//相加		System.out.println(b1.add(b2));  		//减去		System.out.println(b1.subtract(b2));		//相乘		System.out.println(b1.multiply(b2));		//相除		System.out.println(b2.divide(b3)); 		//取余		System.out.println(b2.remainder(b3));		//返回包含 (this / val) 后跟 (this % val) 的两个 BigInteger 的数组		System.out.println(Arrays.toString(b2.divideAndRemainder(b3)));						System.out.println("\n\n");		//a.pow(b)      a的b次方       a是Integer类型      b是int类型		System.out.println(b1.pow(10));		//negate取反数		System.out.println("negate()    "+b1.negate());				System.out.println("\n\n以下为位运算"); 		//shiftLeft 左位移      shiftRight   右位移		System.out.println("左位移:      "+b1.shiftLeft(2));		System.out.println("右唯一:      "+b1.shiftRight(2));		//and:与       or:或          反码:~(加一取反)		System.out.println("and:与           "+b1.and(b2));		System.out.println("or:或              "+b1.or(b2));		System.out.println("反码:~    "+b1.not());						System.out.println("\n\n以下为比较运算"); 		System.out.println(b1.compareTo(b2));//值只有-1、0、1分别对应<、=、>		System.out.println(b2.compareTo(b1));		System.out.println(b2.compareTo(b2));		System.out.println(b1.equals(b2));//比较值是否相等		System.out.println(b1.equals(b1)); 		System.out.println(b1.max(b2));//给出两者之间的最大值		System.out.println(b1.min(b2));//给出两者之间的最小值					}}

  

运算结果:

333333333333333333333333333333333333333333-11111111111111111111111111111111111111111124691358024691358024691358024691358024691308641975308641975308641975308641975308642222222222222222222222222222222222222222222[22222222222222222222222222222222222222222, 2]286797199079244131332225723124083690656613672283088775926871539310870055713547973981830372425140375061578119065354852721792901011661948180202381259878763579451954764039338146620324977185189604156428598178760679846232913097169726611955208182084556710224309621717847073734227136689544918036932527850895361396335442651304897816078075313164451661202668091206709514013338618237095867402327523490604258900950612575601negate()    -111111111111111111111111111111111111111111以下为位运算左位移:      444444444444444444444444444444444444444444右唯一:      27777777777777777777777777777777777777777and:与           1366618052755712315811601266990055448966or:或              331966715280577621017521732066343277884367反码:~    -111111111111111111111111111111111111111112以下为比较运算-110falsetrue222222222222222222222222222222222222222222111111111111111111111111111111111111111111

  

转载于:https://www.cnblogs.com/1020182600HENG/p/6673311.html

你可能感兴趣的文章
使用公钥登录SSL
查看>>
实验四 shell 编程(2)
查看>>
hdu 1290_献给杭电五十周年校庆的礼物
查看>>
Nginx 入门
查看>>
openCR-用ROS代码点亮LED的方法
查看>>
豆瓣电影api
查看>>
BufferedInputStream和FileInputStream的区别
查看>>
二阶段之六
查看>>
微博爬虫 python
查看>>
中石油 【递归】普通递归关系
查看>>
vue报错Error in render: "TypeError: Cannot read property '0' of undefined"
查看>>
silverlight 隐藏ChildWindow 右上角的关闭按钮
查看>>
oracle获取子串
查看>>
List排序
查看>>
字符串操作
查看>>
redis
查看>>
likely() 和 unlikely()
查看>>
03一些View总结
查看>>
每月一次,免费领取小米云服务会员
查看>>
MapReduce--平均分,最高,低分以及及格率的计算
查看>>