欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

Java中如何操作超大數?

老白2年前12瀏覽0評論
筆者曾就職與華為,騰訊,samsung,是一個資深碼農,歡迎大家關注,轉發

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

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

通常來說我們要操作一個大于Integer最大值的數的時候會用Long來進行,

但萬一我們遇到一個比Long的最大值還大的數怎么辦呢?

BigInteger

這種情況還是會出現的,對于操作超大數的情況Java提供了BigInteger類,

使用時需要實例化一個BigInteger對象,調用它的運算方法進行加減等操作。

下面舉個例子說明

操作UUID

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

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

Stringprivate_id=Settings.Secure.getString(getContext().getContentResolver(),Settings.Secure.ANDROID_ID);

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

它的值通常是個十六進制數,比如

AF84C9117B6C98D2

把它轉成十進制是

12647454730485537000

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

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

更多Java知識請關注我或者瀏覽我的往期分享,歡迎大家評論