En utilisant les bibliothèques Java standard, quel est le moyen le plus rapide d'obtenir de la représentation en pointillés d'une adresse IPV4 ("127.0.0.1"
) à la représentation entière équivalente (2130706433
).Passage de 127.0.0.1 à 2130706433 et retour
Et de manière correspondante, quel est le moyen le plus rapide d'inverser cette opération - en passant de l'entier 2130706433
à la représentation sous forme de chaîne "127.0.0.1"
?
127.0.0.1 donne 2130706433, mais 255.255.255.255 ne donne pas 4294967295. problème signé ou non signé? – knorv
Pour imprimer en tant que non signé, le résultat est long et masque les bits élevés: '((long) packedBytes) & 0xffffffff' –
octet en Java est jusqu'à 2^7-1 de sorte que chaque octet ne sera pas en mesure d'afficher tout nombre entier supérieur à 127. La bonne approche consiste à utiliser int pour stocker le chiffre. – zhaocong