一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java中操作超大數(shù)的方法

Java中操作超大數(shù)的方法

2021-05-09 12:11Java教程網 Java教程

本篇文章是小編在網上整理的關于java操作超大數(shù)的方法以及解決思路,有興趣的朋友參考學習下。

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

不管是32位機還是64位機都是這樣

通常來說我們要操作一個大于 integer最大值的數(shù)的時候會用 long來進行

但萬一我們遇到一個比 long的最大值還大的數(shù)怎么辦呢?

biginteger

這種情況還是會出現(xiàn)的,對于操作超大數(shù)的情況 java提供了 biginteger類,使用時需要實例化一個 biginteger對象,調用它的運算方法進行加減等操作。

下面舉個例子說明

操作 uuid

我們知道在android設備中經常用 anroid_id 來表示設備的唯一性

一般在安裝 app的之后第一次啟動時會調用下面的代碼來生成一個設備編號

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

然后把字符串通過持久化儲存放到文件系統(tǒng)或者數(shù)據(jù)庫中,日活等指標都可以依據(jù)這個來標識。

它的值通常是個十六進制數(shù),比如

af84c9117b6c98d2

把它轉成十進制是

12647454730485537000

這已經超出了long最大值的范圍 9223372036854776000

然后我們想在原有 android_id的基礎上簡單加密一下,比如加個隨機數(shù)上去什么的

?
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();

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本厕所spy2wc | 91久久精品国产一区二区 | 成人国产精品一级毛片视频 | 精品国产日韩亚洲一区在线 | 四虎导航| 欧美精品成人a多人在线观看 | 乌克兰bbw | 亚洲四虎在线 | 亚洲情欲网 | 色四虎 | 国产高清在线观看 | 被老外操 | 欧美久草在线 | 夫妇交换小说 | 免费岛国片 | 日本69sex护士www | 处女摘花| 99热在线这里只有精品 | 色臀网站| 91久久线看在观草草青青 | 强女明星系列小说 | www视频免费| 91久久99热青草国产 | 亚洲www美色 | 无遮挡h肉动漫在线观看电车 | 亚洲国产成人久久综合一区 | 亚洲乱亚洲23p女 | 国产自拍视频网站 | 欧美 国产 日韩 第一页 | 国产成人免费高清激情明星 | 国产精品99久久免费观看 | japanesexxxx在线播放 | 久久婷婷五月综合色精品首页 | 91免费精品国自产拍在线可以看 | 天天排行网 | 美女被视频网站看免费入口 | 欧美一级视频在线高清观看 | 亚洲精品第二页 | 91午夜剧场 | 国产真实伦对白在线播放 | 女同久久另类99精品国产 |