本文实例讲述了java中最大的整数用法。分享给大家供大家参考,具体如下:
8种基本数据类型中,long类型所能表示的整数范围是最大的,但还是有限的。另外,基本数据类型中的整数还有一个问题,那就是不是每个数都能够正确的取负数。例如,对int型而言,“-2147483648”取负就不能得到正确的结果,对其他整数类型也有这个问题。
为了解决这些问题,Java中专门提供了用来进行不限制大小的整数计算的类——java.math.BigInteger。该类可以对任意大小的整数进行操作,不过在进行计算的时候是通过方法调用进行的,而不是使用算术运算符
demo:
package org.aaa; import java.math.BigInteger; public class ssss { public static void main(String[] ages){ BigInteger b1=new BigInteger("11111111111111111111111111"); BigInteger b2=new BigInteger("22222222222222222222222222"); System.out.println("加法运算:"); System.out.println("b1:"+b1); System.out.println("b2:"+b2); System.out.println("相加结果值"); System.out.println("相加后的值:"+b1.add(b2)); } }
其余函数参造下表
方法签名 |
功能 |
public BigInteger add(BigInteger val) |
该方法起到使两个数相加的功能,其用自己表示的数加上val表示的数,并将结果返回。 |
public BigInteger subtract(BigInteger val) |
该方法起到使两个数相减的功能,其用自己表示的数减去val表示的数,并将结果返回。 |
public BigInteger multiply(BigInteger val) |
该方法起到使两个数相乘的功能,其将自己表示的数与val表示的数的积返回。 |
public BigInteger divide(BigInteger val) |
该方法起到使两个数相除的功能,其用自己表示的数做被除数,val表示的数做除数,并将商返回。 |
public BigInteger mod(BigInteger m) |
该方法有求余的功能,其用自己表示的数做被除数,val表示的数做除数,并将余数返回。 |
public int compareTo(BigInteger val) |
该方法将此自己与指定的val进行比较。若自己比指定的val大则返回正数,若自己比指定的val小则返回负数,若二者相等则返回0。 |
public BigInteger negate() |
该方法有取相反数的功能,其将自己的相反数返回。 |
public int signum() |
该方法将返回自己的符号,当表示的值为负数时,返回-1;为正数时返回1;为零时返回0。 |
更多关于java相关内容感兴趣的读者可查看本站专题:《Java数学运算技巧总结》、《Java数据结构与算法教程》、《Java字符与字符串操作技巧总结》、《java日期与时间操作技巧汇总》、《Java操作DOM节点技巧总结》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
问题内容: 在C中,整数(对于32位计算机)为32位,范围为-32,768至+32,767。在Java中,整数(long)也是32位,但范围为-2,147,483,648至+2,147,483,647。 我不了解Java中的范围有何不同,即使位数相同。有人可以解释吗? 问题答案: 在C语言中,语言本身无法确定某些数据类型的表示形式。它因机器而异,在嵌入式系统上int可以为16位宽,尽管通常为32位
我试图从Geeksforgeeks中解决最大整数值问题。 问题如下:给定一个数字(0-9)的字符串S,您的任务是找到可以从字符串中获得的最大值,方法是将“*”或“”运算符放在数字之间,同时从字符串的左到右遍历并一次拾取一个数字。 输入:输入的第一行包含T表示测试用例的数量。T测试用例紧随其后。每个测试用例包含一行表示字符串的输入。 输出:对于每个测试用例,打印获得的最大值。 这就是我所做的: 输入
上面的输出是1。我不知道为什么。有人能解释一下吗? 提前谢谢。
在C语言中,整数(对于32位机器)是32位,其范围为-32,768到+32,767。在Java中,整数(长)也是32位,但范围从-2,147,483,648到+2,147,483,647。 我不明白Java中的范围是怎么不同的,尽管位数是一样的。有人能解释一下吗?
问题内容: 我知道Java中一个方法的最大大小为64k。如果超过该限制,我们将收到一个编译器警告,例如“代码太大而无法编译”。所以我们可以称这为Java的缺点吗? 我们可以增加这个大小限制,还是真的有可能增加? 关于此方法大小还有其他想法吗? 问题答案: 以我的经验,64KB的限制只是生成代码的问题。尤其是 初始化大型数组时(通过代码完成) 在结构良好的代码中,每种方法的长度都是可管理的,并且比此
问题内容: Java中的方法可以拥有的最大参数数量是什么?为什么? 我在64位Windows系统上使用Java 1.8。 关于StackOverflow的所有答案都表明,技术限制为255个参数,但未指定原因。 确切地说,静态方法为255,非静态方法为254(在这种情况下为第255)。 我认为这可以用某种规范来描述,并且只允许静态定义最大数量的参数。 但这仅对 所有4字节类型有效。我使用参数进行了一