Baru -baru ini saya mengetahui bahwa mengubah alamat IP menjadi desimal, oktal, dan heksadesimal juga dapat mengakses situs web.
Konversi IP ke Digital (algoritma kedua. Gunakan shift kiri, bitwise atau implementasi. Lebih efisien.):
public long ptolong (string ipaddress) {long hasil = 0; String [] ipaddressinArray = ipaddress.split ("//."); untuk (int i = 3; i> = 0; i--) {long ip = long.parselong (ipaddressinArray [3-i]); // Kiri bergeser 24,16,8,0 dan bitwise atau // 1. 192 << 24 // 1. 168 << 16 // 1. 1 << 8 // 1. 2 << 0 Hasil | = ip << (i * 8); } hasil pengembalian; }Ketika angka dikonversi ke IP, kedua algoritma serupa:
// ip = 3232235778 string publik longtoip (long ip) {stringBuilder result = stringBuilder baru (15); untuk (int i = 0; i <4; i ++) {result.insert (0, long.toString (IP & 0xff)); if (i <3) {result.insert (0, '.'); } ip = ip >> 8; } return result.toString (); } // ip = 3232235778 Public String LongToip2 (Long IP) {return ((IP >> 24) & 0xff) + "." + ((ip >> 16) & 0xff) + "." + ((ip >> 8) & 0xff) + "." + (ip & 0xff); }Kode Lengkap:
kelas publik javabitwiseexample {public static void main (string [] args) {javaBitwiseExample obj = javaBitwiseexample baru (); System.out.println ("IPTOLONG:" + OBJ.IPTOLONG ("192.168.1.2")); System.out.println ("IPTOLONG2:" + OBJ.IPTOLONG2 ("192.168.1.2")); System.out.println ("Longtoip:" + obj.longtoip (3232235778l)); System.out.println ("Longtoip2:" + obj.longtoip2 (3232235778l)); } // Contoh: 192.168.1.2 Public long ptolong (String ipaddress) {// ipaddressinArray [0] = 192 string [] ipaddressinArray = ipaddress.split ("//."); Hasil Panjang = 0; untuk (int i = 0; i <ipaddressinarray.length; i ++) {int power = 3 - i; int ip = integer.parseint (ipaddressinArray [i]); // 1. 192 * 256^3 // 2. 168 * 256^2 // 3. 1 * 256^1 // 4. 2 * 256^0 Hasil += ip * Math.pow (256, power); } hasil pengembalian; } public long ptolong2 (String ipaddress) {long hasil = 0; String [] ipaddressinArray = ipaddress.split ("//."); untuk (int i = 3; i> = 0; i--) {long ip = long.parselong (ipaddressinArray [3-i]); // Kiri bergeser 24,16,8,0 dan bitwise atau // 1. 192 << 24 // 1. 168 << 16 // 1. 1 << 8 // 1. 2 << 0 Hasil | = ip << (i * 8); } hasil pengembalian; } public string longtoip (long i) {return ((i >> 24) & 0xff) + "." + ((i >> 16) & 0xff) + "." + ((i >> 16) & 0xff) + "." + ((i >> 8) & 0xff) + "." + (i & 0xff); } public String LongToIP2 (Long IP) {StringBuilder SB = New StringBuilder (15); untuk (int i = 0; i <4; i ++) {// 1. 2 // 2. 1 // 3. 168 // 4. 192 sb.insert (0, long.tostring (IP & 0xff)); if (i <3) {sb.insert (0, '.'); } // 1. 192.168.1.2 // 2. 192.168.1 // 3. 192.168 // 4. 192 IP = IP >> 8; } return sb.toString (); }}Meringkaskan
Di atas adalah semua konten artikel ini tentang contoh konversi kode dari alamat dan angka IP pemrograman Java. Saya harap ini akan membantu semua orang. Teman yang tertarik dapat terus merujuk ke topik terkait lainnya di situs ini. Jika ada kekurangan, silakan tinggalkan pesan untuk menunjukkannya!