java BigInteger使用
虽然说我不怎么会用java写一些东西,但是java里的biginteger我还是很喜欢的。这个类解决了,我们在其他很多语言中遇到的问题:大数。比如在C++中我们要计算一个大小超过long long的数就必须采取很多的代码来解决。简单一点的课余采取用几个数来存数,复杂的我们就要用到字符串的处理通过,通过字符串我们能够处理任意大的数(理论上,实际由于内存之类的原因还是不行的)。
但是使用字符串的形式实现的方式是十分复杂的。我们就最简单的加法为例说明一下,并展望一下乘法甚至是除法的处理方式。字符串处理大数的本质就是“手工计算”,这里的手工当然不是让你离开电脑去自己算,而是说让电脑按照我们手算的方式进行计算,只是用字符串储存一切结果。比如加法我们使用的方法就是字符串中的每个字符一位一位加,并且自己实现进位功能。下面给一个例子:
如果说加法的复杂程度还可以接受那你还而已考虑一下乘法。。。
好了废话不多说,介绍一下主角:
BIgInteger是java中math包里面的一个类,它可以提供各种各样的大数操作,具体的参考api文档自然是最好的,我这里就只给出一个例子,里面调用的是转换函数,可以简单完成字符串到大数的转换。(个人觉的算是复杂一点的应用了)
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/ package bigfor2013;
import java.math.*;
import java.util.*;
import java.io.*;
/**
*
* @author lenovo
*/
public class Bigfor2013 { /**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Scanner cin=new Scanner(new BufferedInputStream(System.in));
BigInteger a,b;
a=cin.nextBigInteger();
int from ,to;
from =cin.nextInt();
to=cin.nextInt();
String s;
s=cin.next();
BigInteger c=new BigInteger(s,from);
System.out.println(c.toString(to));
}
}
java BigInteger使用的更多相关文章
- 大数运算之 Java BigInteger 的基本用法
大数运算之 Java BigInteger 的基本用法 在程序设计竞赛中会遇到高精度运算的问题,C++没有高精度运算,只能手动模拟人工运算,手动实现高精度,而 java.math 包中的 BigInt ...
- 【经验】 Java BigInteger类以及其在算法题中的应用
[经验] Java BigInteger类以及其在算法题中的应用 标签(空格分隔): 经验 本来在刷九度的数学类型题,有进制转换和大数运算,故而用到了java BigInteger类,使用了之后才发现 ...
- java BigInteger
用Java来处理高精度问题,相信对很多ACMer来说都是一件很happy的事,简单易懂.用Java刷了一些题,感觉Java还不错,在处理高精度和进制转换中,调用库函数的来处理.下面是写的一些Java中 ...
- Java BigInteger(大数,ACM比赛专用)
用c或者C++处理大数比较麻烦,于是决心学习一下JAVA中大数运算. 先下载一个eclipse,具体的用法去问度娘吧 JAVA中有两个类BigInteger和BigDecimal分别表示大整数类和大浮 ...
- java BigInteger类的用法
import java.math.BigInteger; Scanner in = new Scanner(System.in); BigInteger x1 = new BigInteger(&qu ...
- 有理数类 Java BigInteger实现
import java.math.BigInteger; public class Rational extends Number implements Comparable { private Bi ...
- java BigInteger源码学习
转载自http://www.hollischuang.com/archives/176 在java中,有很多基本数据类型我们可以直接使用,比如用于表示浮点型的float.double,用于表示字符型的 ...
- 手算平方根和基于 Java BigInteger 的大整数平方根的实现
为了实现任意大数的运算,long用BigInteger替换带哦. 好了废话少数,先说数学原理,也就是手算平方根计算机代码实现!那么什么叫手算平方根了??? 手开方图解 据说前苏联的普通工人都会的(毛熊 ...
- 14-03 java BigInteger类,BigDecimal类,Date类,DateFormat类,Calendar类
BigInteger类 发 package cn.itcast_01; import java.math.BigInteger; /* * BigInteger:可以让超过Integer范围内的数据进 ...
随机推荐
- 前端开发必须知道的JS(二) 闭包及应用
http://www.cnblogs.com/ljchow/archive/2010/07/06/1768749.html 在前端开发必须知道的JS(一) 原型和继承一文中说过下面写篇闭包,加之最近越 ...
- java 调用webservice的各种方法总结
java 调用webservice的各种方法总结 几种流行的开源WebService框架Axis1,Axis2,Xfire,CXF,JWS比较 方法一:创建基于JAX-WS的webservice(包括 ...
- Bootstrap datepicker可配置网址
http://eternicode.github.io/bootstrap-datepicker/?markup=input&format=&weekStart=&startD ...
- codeforces 492C. Vanya and Exams 解题报告
题目链接:http://codeforces.com/problemset/problem/492/C 题目意思:给出 3 个整数:n, r, avg.然后有 n 行,每行有两个数:第 i 行有 ...
- oracle,mysql对敏感,关键字等处理
oracle用"" 比如,处理字段中间有空格,
- Google推荐的图片加载库Glide介绍
英文原文 Introduction to Glide, Image Loader Library for Android, recommended by Google 译文首发 http://jco ...
- 【leetcode】Sort List (middle)
Sort a linked list in O(n log n) time using constant space complexity. 思路: 用归并排序.设输入链表为S,则先将其拆分为前半部分 ...
- 【leetcode】Single Number (Medium) ☆
题目: Given an array of integers, every element appears twice except for one. Find that single one. No ...
- 【Git】笔记3
来源:廖雪峰 远程仓库 远程仓库采用github 准备工作:创建远程仓库 1.创建一个github账号 2.在本地设置ssh,获取/home/user/.ssh/id_rsa.pub内容 3.在git ...
- Excel统计工作簿sheet个数
按Alt+F11调出VBE后,在"视图"-“立即窗口”中输入: debug.print ThisWorkbook.Sheets.Count 回车后就可看到工作表数量.