Java中的大数字

其实Java语言并不能对现实生活中所有对象建模。

比如:实数。Java不能完全表示显示生活中的实数。

Integer.MAX_VALUE : 2147483647

Integer.MIN_VALUE : -2147483648

如果超过要表示小于-2147483648或者大于2147483647的数字则需要考虑long

Long.MAX_VALUE : 9223372036854775807

Long.MIN_VALUE : -9223372036854775808

如果long不能满足要求,则需要用到BigInteger.

关于国王奖赏象棋发明者的问题,第一个方格放1粒麦子,第二格放2粒,依次类推。每格比前一格翻一倍。用Integer和Long都不能正确实现。 只能用BigInteger

时间: 2024-10-29 09:15:25

Java中的大数字的相关文章

java中的大数值

一 BigInteger类 今天看了一些java视频,里面讲到了大数值,当我们碰到需要处理一个很大的数字时或者要求精确度比较高的数字时,这时候肯定没法使用int和long.当然我们可以使用String来接收大数字,然后再采用拆分的方式来计算,不过这种方式很麻烦.因此在Java中为了解决这种问题,提供了BigInteger类.BigInteger类表示是大整数类,定义在java.math.*这个包中,如果操作的整数已经超过了整数的最大类型长度long,这时可以考虑使用BigInteger类来进行操

java中字符串与数字的互相转换

import java.text.DecimalFormat; /* * String类中本身提供方法可以将几乎所有的基本类型转换为String类型 * sysout alt+/ 可以直接显示System.out.println() */public class test { public static void main(String[] args) { // 数字转换为字符串 double d=12.25; String str=String.valueOf(d); System.out.p

java中Double类数字太大时页面正常显示而不要用科学计数法

DecimalFormat   format   =   (DecimalFormat)   NumberFormat.getPercentInstance(); format.applyPattern( "#####0 "); String   temp   =   format.format(Double.MAX_VALUE); System.out.println(temp); double   a;   //   test DecimalFormat   df   =    

Java中4大基本加密算法解析

简单的java加密算法有: BASE64 严格地说,属于编码格式,而非加密算法 MD5(Message Digest algorithm 5,信息摘要算法) SHA(Secure Hash Algorithm,安全散列算法) HMAC(Hash Message Authentication Code,散列消息鉴别码) 1. BASE64 Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045-RFC2049,上面有MIME的详细规范.Base64编码可用于

Java 高精度的大数字运算

为了解决Java基本数据类型在运算时会出现的溢出和计算不精确的问题.Java 提供了两个类BigInteger和BigDecimal,专门用于进行高精度运算.凡是能用int 或float 做的事情,用BigInteger和BigDecimal也可以做,只是必须换用方法调用,而不是使用运算符. 高精度整数BigInteger BigInteger支持任意精度的整数,也就是说我们可精确表示任意大小的整数值:同时在运算过程中不会丢失任何信息: 高精度浮点数BigDecimal 它可以表示任意精度的小数

java中10大常见异常

NO.1 java.lang.NullPointerException 这个异常大家肯定都经常遇到,异常的解释是 "程序遇上了空指针 ",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等.对数组操作中出现空指针,很多情况下是一些刚开始学习编程的朋友常犯的错误,即把数组的初始化和数组元素的初始化混淆起来了.数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化,依然

使用千位分隔符(逗号)表示web网页中的大数字

做手机端页面我们常常遇到数字,而在Safari浏览器下这些数字会默认显示电话号码,于是我们就用到了补坑的方法加入<meta>标签: <meta name="format-detection" content="telephone=no">这个标签的意义在于将数字不被看成电话号码,于是就万事大吉了O(∩_∩)O,但是如果是一个订餐电话,那么在加入这个标签之后,订餐电话就变成了数字,就不能直接拨号了于是乎我们想到了用千位符老表示数字从而区分电话号

java中Redis5大基本类型的用法

存储格式 基本用法 通过Jedis(封装了redis的Java客户端)对redis进行操作. Jedis工具类 public class JedisPoolUtil { private static JedisPool pool = null; static { //加载配置文件 InputStream in = JedisPoolUtil.class.getClassLoader().getResourceAsStream("redis.properties"); Propertie

021、Java中汉子与数字的相互转换,利用字符变量保存中文

01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public static void main(String[] args) { char c = '王'; // 是大写字母 int num = c; // 需要将字符变为int型才可以使用加法计算 System.out.println(num); System.out.println((char) num)