Alamat IP terdiri dari empat angka desimal, yang masing-masing dapat berkisar dari 0 hingga 255. Setiap angka tersebut setara dengan dua digit heksadesimal atau biner delapan bit, dan oleh karena itu disebut oktet. Keempat angka pendek ini terkadang perlu diterjemahkan menjadi satu angka panjang saat menulis naskah.
instruksi
Langkah 1
Kalikan oktet pertama dari alamat IP dengan 16777216, atau setara dengan 256 pangkat ketiga. Misalnya, jika kita berbicara tentang alamat IP 192.168.1.1 (sering ditemukan di jaringan lokal kecil), maka setelah mengalikan angka 192 dengan 16777216 Anda mendapatkan 3221225472.
Langkah 2
Kalikan angka kedua dengan 65536 - itulah yang Anda dapatkan jika Anda menaikkan 256 ke pangkat kedua. Misalnya, di alamat 192.168.1.1, Anda harus mengalikan 168 dengan 65536, dan Anda mendapatkan 11010048.
Langkah 3
Kalikan oktet ketiga dengan 256 pangkat pertama - yaitu, dengan angka 256 itu sendiri. Jika Anda mengubah alamat IP 192.168.1.1 menjadi bentuk panjang, maka hasil perkalian ini adalah 256 * 1 = 256.
Langkah 4
Biarkan angka keempat tidak berubah, yang setara dengan mengalikan satu. Ini disebabkan oleh fakta bahwa jika Anda menaikkan angka 256 (atau angka lainnya) ke pangkat nol, Anda mendapatkan 1. Di alamat IP 192.168.1.1, hasil perkaliannya adalah 1 * 1 = 1.
Langkah 5
Tambahkan keempat hasil perkalian bersama-sama. Untuk contoh yang dipertimbangkan di sini, jumlahnya akan terlihat seperti ini: 3232235777.
Langkah 6
Saat memprogram dalam PHP, gunakan fungsi ip2long yang sudah jadi untuk menerjemahkan alamat IP ke dalam bentuk panjang. Fungsi yang serupa dalam tujuan dapat disusun dan dimasukkan dalam program atau modul terpisah dalam bahasa pemrograman lain.
Langkah 7
Tugas menerjemahkan alamat IP dari bentuk panjang kembali ke bentuk pendek lebih jarang terjadi. Untuk melakukan ini, bagi alamat panjang dengan 16777216, dan seluruh bagian hasil pembagian menjadi oktet pertama. Bagi sisanya (jangan bingung dengan bagian pecahan) dengan 65536 untuk mendapatkan oktet kedua, dan seterusnya. Pada kalkulator teknik, hitung modulus sebagai berikut: [C] angka pertama [MOD] angka kedua [=]. Kalkulator paling sederhana tidak memiliki fitur ini.
Langkah 8
Saat menulis fungsi untuk melakukan terjemahan terbalik dalam bahasa pemrograman tertentu, gunakan fungsi untuk pembagian bilangan bulat dan hitung sisa pembagian. Misalnya, dalam Pascal mereka disebut div dan mod, masing-masing. Sebuah fragmen dari program untuk melakukan terjemahan semacam itu mungkin terlihat seperti ini:
oktet [1]: = longip div 16777216;
nomor berikutnya: = longip mod 16777216;
oktet [2]: = nomor berikutnya div 65536;
nomor berikutnya: = nomor berikutnya mod 65536;
oktet [3]: = nomor berikutnya div 256;
oktet [4]: = nomor berikutnya mod 256;