Binary, Hex, dan Satuan Data Dijelaskan
Glosarium praktis konvensi biner, heksadesimal, dan satuan data yang digunakan dalam pemrograman, jaringan, dan pekerjaan forensik.
Setiap byte yang Anda inspeksi di hex editor, setiap subnet mask yang Anda hitung, setiap ukuran file yang dilaporkan alat tergantung pada serangkaian kecil sistem bilangan dan konvensi satuan. Jika Anda salah menerapkannya, Anda akan salah menilai ukuran buffer, salah membaca memory dump, atau berdebat dengan rekan kerja tentang apakah 1 KB adalah 1000 atau 1024 byte.
Binary: basis yang sebenarnya dituturkan setiap komputer
Binary adalah basis 2 — hanya 0 dan 1. Satu digit biner adalah bit. Kelompokkan 8 bit bersama-sama dan Anda mendapatkan byte, yang dapat mewakili 256 nilai berbeda (0 hingga 255 unsigned, atau -128 hingga 127 signed two's complement).
Ketika Anda melihat 01001000 itu adalah 72 dalam desimal, yang kebetulan adalah kode ASCII untuk 'H'. Konversi manual hanya menjumlahkan pangkat 2 dari bit paling kanan: 2^6 + 2^3 = 64 + 8 = 72. Alat seperti python3 -c "print(bin(72))" atau xxd pada file akan melakukan ini secara instan, tetapi memahami matematika penting ketika Anda melakukan reverse engineering bitmask atau menghitung nilai flag dalam header TCP.
Hexadecimal: singkatan biner
Hex adalah basis 16, menggunakan 0-9 dan A-F. Hex ada karena biner tidak dapat dibaca dalam skala besar dan desimal tidak dipetakan dengan rapi ke batas byte. Satu digit hex mewakili tepat 4 bit, jadi dua digit hex mewakili satu byte penuh — 0x00 hingga 0xFF mencakup semua 256 nilai byte tanpa ruang terbuang.
Inilah mengapa hex dump adalah standar dalam alat seperti xxd, hexdump -C, atau tampilan memori disassembler. Ketika Anda melihat 0x4D 0x5A di awal file, itu adalah header MZ yang mengidentifikasi executable PE Windows. Alamat memori, kode warna (#FF5733), alamat MAC, dan alamat IPv6 semuanya secara konvensional ditulis dalam hex karena pemetaannya sangat rapi ke struktur byte dan nibble yang mendasar.
Mengkonversi hex ke desimal: 0x4D = (4 × 16) + 13 = 77. Dalam Python, int('4D', 16) membawa Anda ke sana tanpa perhitungan manual, dan hex(77) berjalan sebaliknya.
Di mana biner, desimal, dan hex benar-benar bertemu dalam praktik
Alamat IP adalah contoh bagus dari ketiganya bertabrakan. Alamat IPv4 seperti 192.168.1.1 sebenarnya empat byte: 11000000.10101000.00000001.00000001 dalam biner, atau C0.A8.01.01 dalam hex. Matematika subnetting — mengetahui apakah dua alamat berada di jaringan yang sama — pada dasarnya adalah operasi AND biner terhadap subnet mask, meskipun kami menulis semuanya dalam dotted decimal untuk kenyamanan.
Dalam forensik digital dan analisis malware, Anda terus-menerus menerjemahkan antara representasi ini. Disassembler menunjukkan opcode dalam hex, tetapi CPU menjalankan biner mentah, dan nilai register sering diinterpretasikan sebagai offset desimal atau string ASCII tergantung konteks. Mengetahui bahwa 0x41 adalah baik angka 65 maupun karakter ASCII 'A' adalah jenis pengenalan pola yang mempercepat analisis manual secara signifikan.
Satuan data: masalah 1000 vs 1024
Di sini orang benar-benar terbakar. Produsen penyimpanan, filesystem, dan sistem operasi tidak selalu setuju tentang apa itu
Ditulis dengan bantuan AI, ditinjau dan dipublikasikan oleh Michal Pilch (CISSP), Korra Studio.
Ini satu catatan dari basis pengetahuan Korra Studio — platform ini memasangkan setiap topik dengan bimbingan privat.
Mulai gratisarrow_forward