整数の最大値は2^31-1であり、ロングの最大値は2^63-1であることがわかっています
これは、32ビットであろうと64ビットのマシンであろうと真です
一般的に言えば、整数の最大値より大きい数値を操作したい場合は、それを実行するために長く使用します。
しかし、ロングの最大値よりも大きい数字に遭遇した場合はどうなりますか?
biginteger
この状況は引き続き発生します。 Javaは、非常に多数を操作するためのBigintegerクラスを提供します。それを使用するときは、Bigintegerオブジェクトをインスタンス化する必要があります。操作方法を呼び出して、追加と減算を行います。
説明する例を以下に示します
uuid作戦
Anroid_IDは、デバイスの一意性を表すためにAndroidデバイスでよく使用されることを知っています
一般に、アプリをインストールした後、デバイス番号を初めて生成するために、次のコードが呼び出されます。
string private_id = settings.secure.getString(getContext()。getContentResolver()、settings.secure.android_id);
次に、文字列は永続性を介してファイルシステムまたはデータベースに保存され、毎日のアクティブユーザーなどの指標をこれに基づいて識別できます。
たとえば、その値は通常、16進数です
AF84C9117B6C98D2
10進数に変換します
12647454730485537000
これは、長い最大値922372036854776000の範囲を超えています
次に、乱数を追加するなど、元の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 result = androidid.add(new biginteg(100.nextid(100.value)) 10)); string hex = result.toString();