Nous savons que la valeur maximale de l'entier est de 2 ^ 31 - 1 et que la valeur maximale de longue est 2 ^ 63 - 1
C'est vrai que ce soit une machine 32 bits ou 64 bits
D'une manière générale, lorsque nous voulons utiliser un nombre supérieur à la valeur maximale de l'entier, nous utiliserons longtemps pour l'exécuter.
Mais que se passe-t-il si nous rencontrons un nombre supérieur à la valeur maximale de la longue?
Grand integer
Cette situation se produira toujours. Java fournit une classe BigInteger pour faire fonctionner des nombres extrêmement importants. Lorsque vous l'utilisez, vous devez instancier un objet BigInteger, appelez sa méthode de fonctionnement pour l'addition et la soustraction.
Voici un exemple pour illustrer
Opération UUID
Nous savons que Anroid_id est souvent utilisé dans les appareils Android pour représenter l'unicité de l'appareil
Généralement, le code suivant sera appelé pour générer un numéro de périphérique pour la première fois après l'installation de l'application.
String private_id = settings.secure.getString (getContext (). GetContentResolver (), settings.secure.android_id);
Ensuite, les chaînes sont stockées dans le système de fichiers ou la base de données par la persistance, et des indicateurs tels que les utilisateurs actifs quotidiens peuvent être identifiés en fonction de cela.
Sa valeur est généralement un numéro hexadécimal, par exemple
AF84C9117B6C98D2
Le convertir en décimal est
12647454730485537000
Cela a dépassé la plage de longue valeur maximale 922337203685476000
Ensuite, nous voulons simplement le crypter sur la base de l'Android_id d'origine, comme l'ajout d'un nombre aléatoire pour augmenter.
String private_id = Settings.SeCure.getString (getContex résultat.toString ();