gpt4 book ai didi

Java中操作超大数的方法

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Java中操作超大数的方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

我们知道integer的最大值是 2^31 - 1,long最大值是 2^63 -1 。

不管是32位机还是64位机都是这样 。

通常来说我们要操作一个大于 integer最大值的数的时候会用 long来进行 。

但万一我们遇到一个比 long的最大值还大的数怎么办呢?

biginteger 。

这种情况还是会出现的,对于操作超大数的情况 java提供了 biginteger类,使用时需要实例化一个 biginteger对象,调用它的运算方法进行加减等操作.

下面举个例子说明 。

操作 uuid 。

我们知道在android设备中经常用 anroid_id 来表示设备的唯一性 。

一般在安装 app的之后第一次启动时会调用下面的代码来生成一个设备编号 。

?
1
string private_id = settings.secure.getstring(getcontext().getcontentresolver(), settings.secure.android_id);

然后把字符串通过持久化储存放到文件系统或者数据库中,日活等指标都可以依据这个来标识.

它的值通常是个十六进制数,比如 。

af84c9117b6c98d2 。

把它转成十进制是 。

12647454730485537000 。

这已经超出了long最大值的范围 9223372036854776000 。

然后我们想在原有 android_id的基础上简单加密一下,比如加个随机数上去什么的 。

?
1
2
3
4
5
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();

  。

最后此篇关于Java中操作超大数的方法的文章就讲到这里了,如果你想了解更多关于Java中操作超大数的方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com