java中大数的一些基本运算
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		BigInteger a,b;
		while(in.hasNext())
		{
			a = in.nextBigInteger();
			b = in.nextBigInteger();
			//四则运算
			System.out.println(a.add(b));
			System.out.println(a.subtract(b));
			System.out.println(a.multiply(b));
			System.out.println(a.divide(b));
			System.out.println(a.remainder(b));
			//大数比较
			if(a.compareTo(b)==0)
				System.out.println("a==b");
			else if(a.compareTo(b)>0)
				System.out.println("a>b");
			else {
				System.out.println("a<b");
			}
			//绝对值
			System.out.println(a.abs());
			//幂
			int fun = 10;
			System.out.println(a.pow(fun));
			//大数x进制的字符串表示
			int x = 8;
			System.out.println(a.toString(x));
			//大数返回十进制的字符串表示
			System.out.println(a.toString());
		}
	}
}
toPlainString() //转为普遍计数法输出
//给一个字符串1.238761976E-10
//如何得到0.0000000001238761976这个字符串呢?
BigDecimal bd = new BigDecimal("1.238761976E-10");
System.out.println(bd.toPlainString());
stripTrailingZeros() //去掉末尾0
//给一个字符串1245600.000
//如何得到1245600这个字符串?
BigDecimal bd=new BigDecimal("1245600.000");
System.out.println(bd.stripTrailingZeros());
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while(in.hasNext())
        {
            BigDecimal ans = BigDecimal.valueOf(1);
            BigDecimal a = in.nextBigDecimal();
            Integer n = in.nextInt();
            while(n-->0)
                ans = ans.multiply(a);
                String str = ans.stripTrailingZeros().toPlainString().toString();
                if(str.charAt(0)=='0')
                    str = str.substring(1);
                System.out.println(str);
        }
        in.close();
    }
}
import java.math.BigDecimal;
import java.util.Scanner;
public class test1 {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		while(in.hasNext())
		{
			BigDecimal a = in.nextBigDecimal();
			BigDecimal b = in.nextBigDecimal();
				a=a.add(b);
				String str = a.stripTrailingZeros().toPlainString().toString();
				if(str.charAt(0)=='0')
					str = str.substring(1);
				System.out.println(str);
		}
		in.close();
	}
}
												
											java中大数的一些基本运算的更多相关文章
- Java中大数的使用与Java入门(NCPC-Intergalactic Bidding)
		
引入 前几天参加湖南多校的比赛,其中有这样一道题,需要使用高精度,同时需要排序,如果用c++实现的话,重载运算符很麻烦,于是直接学习了一发怎样用Java写大数,同时也算是学习Java基本常识了 题目 ...
 - java中大数类的学习
		
java中提供了大数类BigInteger和BigDecimal分别表示大整数类和大浮点数类,这两个类都在java.math.*包中,因此每次必须在开头处引用该包. 一.BigInteger构造函数: ...
 - JAVA中大数经常使用的函数
		
声明为 BigInteger 的 java.math 中的字段 static BigInteger BigInteger. ONE BigInteger 的常量 1. static BigIntege ...
 - Java BigInteger(大数,ACM比赛专用)
		
用c或者C++处理大数比较麻烦,于是决心学习一下JAVA中大数运算. 先下载一个eclipse,具体的用法去问度娘吧 JAVA中有两个类BigInteger和BigDecimal分别表示大整数类和大浮 ...
 - 用Java进行大数处理(BigInteger)-hdu1042
		
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1042 题目描述: 代码实现: import java.util.Scanner; import jav ...
 - ACM中java中BigInteger和Decimal用到的主要函数
		
java中大数以及高精度常用函数 使用java大数类解决问题时我们需要注意两个方面:1.不能有包名,也就是说我们要把主类放到默认的包里,如果你的代码里出现形如package cn.gov.test;这 ...
 - Java中的大数处理类BigInteger和BigDecimar浅析
		
这两个类位于java.math包内,要使用它们必须在类前面引用该包:import java.math.BigInteger;和import java.math.BigDecimal; BigInteg ...
 - JAVA中关于大数问题
		
这里只是java速成,只限于java语法,包括输入输出,运算处理,字符串和高精度的处理,进制之间的转换等,能解决OJ上的一些高精度题目. 一.样例:java中的输出a+b import java.io ...
 - java 中的小数点、大数、随机数处理
		
1.小数点处理 public class Test { public static void main(String[] args) { double i = 3.856; // 舍掉小数取整 Sys ...
 
随机推荐
- Java使用默认浏览器打开指定URL的方法(二种方法)
			
直接看代码:方法一: 复制代码 代码如下: Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler http://ww ...
 - OSX.PackageManager-Homebrew
			
How to install pip on mac? http://stackoverflow.com/questions/12092306/how-to-install-scipy-with-pip ...
 - iOS push新的调用方法
			
// IOS8 新系统需要使用新的代码if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0){ [[UIAppl ...
 - UI设计师如何提升审美?
			
不得不承认,作为一名设计师,独特的审美能力是设计的灵感所在,不过很多刚刚从事UI设计的人,审美能力真的非常的一般,所以心中难免有这样的疑问,我的审美能通过后天的努力提升吗?关于这点,可以非常肯定的说, ...
 - PHP数组对象互转
			
//数组转对象 function array2object($array) { if (is_array($array)) { $obj = new StdClass(); foreach ($arr ...
 - 摹客iDoc201901-2新功能点评
			
2019才刚刚开始,摹客团队就已经蓄势待发.马不停蹄地给大家带来了又一份惊喜.实话说,这次小摹都忍不住要点个赞!下面就赶紧带大家看看iDoc又更新了哪些新功能: 1.标注和评论融合.协作更高效 iDo ...
 - 堆和索引堆的实现(python)
			
''' 索引堆 ''' ''' 实现使用2个辅助数组来做.有点像dat.用哈希表来做修改不行,只是能找到这个索引,而需要change操作 还是需要自己手动写.所以只能用双数组实现. #引入索引堆的核心 ...
 - css字符串转换为类map对象及反转
			
存储对象为啥是类map(即:{key:val,...}格式),因为Map对象的val为字符时,无法存储 '('.')' 左右括号,我也很无奈╮(╯▽╰)╭ 解析脚本: <!DOCTYPE htm ...
 - oracle迁移
			
#导出scott的数据,排除 table_a table_b expdp system/password schemas=scott directory=datadir dumpfile=scott_ ...
 - ubuntu 配置ftp server(zz)
			
ubuntu 配置 ftp server 安装vsftpd sudo apt-get install vsftpd # vsftp(Very Secure FTP)是一种在Unix/Linux中非 ...