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());

hdu1063

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();
}
}

hdu 1753

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中大数的一些基本运算的更多相关文章

  1. Java中大数的使用与Java入门(NCPC-Intergalactic Bidding)

    引入 前几天参加湖南多校的比赛,其中有这样一道题,需要使用高精度,同时需要排序,如果用c++实现的话,重载运算符很麻烦,于是直接学习了一发怎样用Java写大数,同时也算是学习Java基本常识了 题目 ...

  2. java中大数类的学习

    java中提供了大数类BigInteger和BigDecimal分别表示大整数类和大浮点数类,这两个类都在java.math.*包中,因此每次必须在开头处引用该包. 一.BigInteger构造函数: ...

  3. JAVA中大数经常使用的函数

    声明为 BigInteger 的 java.math 中的字段 static BigInteger BigInteger. ONE BigInteger 的常量 1. static BigIntege ...

  4. Java BigInteger(大数,ACM比赛专用)

    用c或者C++处理大数比较麻烦,于是决心学习一下JAVA中大数运算. 先下载一个eclipse,具体的用法去问度娘吧 JAVA中有两个类BigInteger和BigDecimal分别表示大整数类和大浮 ...

  5. 用Java进行大数处理(BigInteger)-hdu1042

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1042 题目描述: 代码实现: import java.util.Scanner; import jav ...

  6. ACM中java中BigInteger和Decimal用到的主要函数

    java中大数以及高精度常用函数 使用java大数类解决问题时我们需要注意两个方面:1.不能有包名,也就是说我们要把主类放到默认的包里,如果你的代码里出现形如package cn.gov.test;这 ...

  7. Java中的大数处理类BigInteger和BigDecimar浅析

    这两个类位于java.math包内,要使用它们必须在类前面引用该包:import java.math.BigInteger;和import java.math.BigDecimal; BigInteg ...

  8. JAVA中关于大数问题

    这里只是java速成,只限于java语法,包括输入输出,运算处理,字符串和高精度的处理,进制之间的转换等,能解决OJ上的一些高精度题目. 一.样例:java中的输出a+b import java.io ...

  9. java 中的小数点、大数、随机数处理

    1.小数点处理 public class Test { public static void main(String[] args) { double i = 3.856; // 舍掉小数取整 Sys ...

随机推荐

  1. Java使用默认浏览器打开指定URL的方法(二种方法)

    直接看代码:方法一: 复制代码 代码如下: Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler http://ww ...

  2. OSX.PackageManager-Homebrew

    How to install pip on mac? http://stackoverflow.com/questions/12092306/how-to-install-scipy-with-pip ...

  3. iOS push新的调用方法

    // IOS8 新系统需要使用新的代码if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0){    [[UIAppl ...

  4. UI设计师如何提升审美?

    不得不承认,作为一名设计师,独特的审美能力是设计的灵感所在,不过很多刚刚从事UI设计的人,审美能力真的非常的一般,所以心中难免有这样的疑问,我的审美能通过后天的努力提升吗?关于这点,可以非常肯定的说, ...

  5. PHP数组对象互转

    //数组转对象 function array2object($array) { if (is_array($array)) { $obj = new StdClass(); foreach ($arr ...

  6. 摹客iDoc201901-2新功能点评

    2019才刚刚开始,摹客团队就已经蓄势待发.马不停蹄地给大家带来了又一份惊喜.实话说,这次小摹都忍不住要点个赞!下面就赶紧带大家看看iDoc又更新了哪些新功能: 1.标注和评论融合.协作更高效 iDo ...

  7. 堆和索引堆的实现(python)

    ''' 索引堆 ''' ''' 实现使用2个辅助数组来做.有点像dat.用哈希表来做修改不行,只是能找到这个索引,而需要change操作 还是需要自己手动写.所以只能用双数组实现. #引入索引堆的核心 ...

  8. css字符串转换为类map对象及反转

    存储对象为啥是类map(即:{key:val,...}格式),因为Map对象的val为字符时,无法存储 '('.')' 左右括号,我也很无奈╮(╯▽╰)╭ 解析脚本: <!DOCTYPE htm ...

  9. oracle迁移

    #导出scott的数据,排除 table_a table_b expdp system/password schemas=scott directory=datadir dumpfile=scott_ ...

  10. ubuntu 配置ftp server(zz)

    ubuntu 配置 ftp server   安装vsftpd sudo apt-get install vsftpd # vsftp(Very Secure FTP)是一种在Unix/Linux中非 ...