时间:2021-05-20
我们知道Integer的最大值是 2^31 - 1,Long最大值是 2^63 -1
不管是32位机还是64位机都是这样
通常来说我们要操作一个大于 Integer最大值的数的时候会用 Long来进行
但万一我们遇到一个比 Long的最大值还大的数怎么办呢?
BigInteger
这种情况还是会出现的,对于操作超大数的情况 Java提供了 BigInteger类,使用时需要实例化一个 BigInteger对象,调用它的运算方法进行加减等操作。
下面举个例子说明
操作 UUID
我们知道在Android设备中经常用 anroid_id 来表示设备的唯一性
一般在安装 app的之后第一次启动时会调用下面的代码来生成一个设备编号
String private_id = Settings.Secure.getString(getContext().getContentResolver(), Settings.Secure.ANDROID_ID);然后把字符串通过持久化储存放到文件系统或者数据库中,日活等指标都可以依据这个来标识。
它的值通常是个十六进制数,比如
AF84C9117B6C98D2
把它转成十进制是
12647454730485537000
这已经超出了Long最大值的范围 9223372036854776000
然后我们想在原有 android_id的基础上简单加密一下,比如加个随机数上去什么的
String private_id = Settings.Secure.getString(getContext().getContentResolver(), Settings.Secure.ANDROID_ID);BigInteger androidId = new BigInteger(private_id, 16);Random random = new Random();BigInteger result = androidId.add(new BigInteger(String.valueOf(random.nextInt(10000)), 10));String hex = result.toString();声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
大数据学java还是Python?大数据开发既要学习Python,也要学习java。学习大数据开发,java语言是基础,主流的大数据软件基本都是java实现的,
1,Java中操作方法:importjava.io.*;publicclassFileInputStreamTest{publicstaticvoidmain(
Java实例化类的方法 Java中,类的实例化方法有四种途径:1)使用new操作符2)调用Class对象的newInstance()方法3)调用clone()
摄像头谎言:“超大镜头,超清画质。专业超大数码相机镜头,图像高度保真。” 现在摄像头行业也流行大镜头,各类广告满天飞。在理论上,大镜头可以让更多的光线通过,
本文实例讲述了PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法。分享给大家供大家参考,具体如下:PHP计算大数值运算时会出错,当数字太大时,数值会变