Apa itu sistem posisional
Pada bilangan desimal 4.095, angka 4 tidak bernilai 4: nilainya 4.000, karena ia berada di tempat ribuan. Setiap posisi mengalikan digitnya dengan pangkat 10 (1, 10, 100, 1.000…). Itulah sistem posisional, dan basisnya adalah jumlah digit berbeda yang dipakai: sepuluh pada desimal.
Biner bekerja sama, tetapi berbasis 2: hanya ada 0 dan 1, dan setiap tempat bernilai dua kali tempat sebelumnya. Heksadesimal berbasis 16: enam belas digitnya adalah 0 sampai 9 dan huruf A sampai F, dan setiap tempat bernilai 16 kali tempat sebelumnya. Komputer bekerja dengan biner karena sebuah sirkuit cukup membedakan dua keadaan (mati dan menyala), dan heksadesimal adalah cara singkat menuliskan bit-bit itu.
| Posisi (dari kanan ke kiri) | Nilai dalam biner | Nilai dalam heksadesimal |
|---|---|---|
| Ke-1 | 1 | 1 |
| Ke-2 | 2 | 16 |
| Ke-3 | 4 | 256 |
| Ke-4 | 8 | 4.096 |
| Ke-5 | 16 | 65.536 |
| Ke-6 | 32 | 1.048.576 |
| Ke-7 | 64 | 16.777.216 |
| Ke-8 | 128 | 268.435.456 |
Dari biner ke desimal, secara manual
Tulis tiap digit beserta nilai tempatnya, lalu jumlahkan hanya tempat yang berisi angka 1. Contoh dengan 1101: dari kanan ke kiri tempatnya bernilai 1, 2, 4, dan 8.
- Tulis bilangannya dan di bawahnya nilai tiap posisi: 1 1 0 1 di atas 8 4 2 1.
- Lihat isi tiap tempat: angka 1 di tempat 8, angka 1 di tempat 4, angka 0 di tempat 2, dan angka 1 di tempat 1.
- Abaikan tempat yang berisi 0 (di sini, tempat 2).
- Jumlahkan: 8 + 4 + 0 + 1 = 13. Jadi 1101 dalam biner adalah 13 dalam desimal.
Dengan lebih banyak digit caranya sama: 11111111 adalah 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255, nilai terbesar yang muat dalam 8 bit. Dan 10110110 adalah 128 + 32 + 16 + 4 + 2 = 182.
Dari desimal ke biner, dengan pembagian berulang
Bagi bilangan dengan 2 berulang kali, catat sisa tiap pembagian (selalu 0 atau 1), sampai hasil baginya 0. Sisa-sisa itu, dibaca dari bawah ke atas, adalah bilangan binernya. Contoh dengan 45:
- 45 ÷ 2 = 22, sisa 1
- 22 ÷ 2 = 11, sisa 0
- 11 ÷ 2 = 5, sisa 1
- 5 ÷ 2 = 2, sisa 1
- 2 ÷ 2 = 1, sisa 0
- 1 ÷ 2 = 0, sisa 1
Membaca sisa dari bawah ke atas menghasilkan 101101. Untuk memeriksa, jumlahkan: 32 + 8 + 4 + 1 = 45.
Ada cara lain yang disukai banyak orang: mengurangi pangkat 2 dari yang terbesar ke yang terkecil. Untuk 200: 128 muat (sisa 72), 64 muat (sisa 8), 32 dan 16 tidak muat, tetapi 8 muat (sisa 0). Tempat yang dipakai adalah 128, 64, dan 8, jadi 200 = 11001000.
Heksadesimal: enam belas digit dan tabel untuk pegangan
Karena tidak ada digit untuk 10 sampai 15, dipakai huruf A, B, C, D, E, dan F. Satu digit heksadesimal setara persis dengan empat bit (satu «nibble»), dan itu sebabnya ia sangat praktis: satu byte, yang 8 bit, ditulis hanya dengan dua digit heksadesimal.
Untuk mengubah heksadesimal ke desimal, kalikan tiap digit dengan pangkat 16 sesuai tempatnya lalu jumlahkan. Misalnya, 3F = 3 × 16 + 15 = 63 dan A3 = 10 × 16 + 3 = 163.
| Desimal | Biner (4 bit) | Oktal | Heksadesimal |
|---|---|---|---|
| 0 | 0000 | 0 | 0 |
| 1 | 0001 | 1 | 1 |
| 2 | 0010 | 2 | 2 |
| 3 | 0011 | 3 | 3 |
| 4 | 0100 | 4 | 4 |
| 5 | 0101 | 5 | 5 |
| 6 | 0110 | 6 | 6 |
| 7 | 0111 | 7 | 7 |
| 8 | 1000 | 10 | 8 |
| 9 | 1001 | 11 | 9 |
| 10 | 1010 | 12 | A |
| 11 | 1011 | 13 | B |
| 12 | 1100 | 14 | C |
| 13 | 1101 | 15 | D |
| 14 | 1110 | 16 | E |
| 15 | 1111 | 17 | F |
Mengapa heksadesimal dipakai: byte, warna, dan alamat
Satu byte adalah 8 bit dan bernilai 0 sampai 255 (00000000 sampai 11111111). Menulis bit secara manual lambat dan mudah salah; dalam heksadesimal byte yang sama hanya dua karakter, dari 00 sampai FF. Untuk mengubah biner ke heksadesimal, pisahkan bit menjadi kelompok empat mulai dari kanan, lalu ganti tiap kelompok dengan digit dari tabel. Contoh: 11010111 dipecah menjadi 1101 dan 0111, yaitu D dan 7, sehingga nilainya D7. Dalam desimal, itu 13 × 16 + 7 = 215.
Contoh yang paling dikenal adalah warna web. Pada #FF8800 ada tiga byte: FF untuk merah (255), 88 untuk hijau (136), dan 00 untuk biru (0). Itu warna oranye pekat: merah penuh, hijau sedikit lebih dari setengah, dan tanpa biru. Heksadesimal juga muncul pada alamat memori, kode kesalahan, dan pengenal jaringan.
Dari teks ke biner dengan ASCII
Komputer menyimpan setiap huruf sebagai angka, dan angka itu sebagai bit. Dalam tabel ASCII, A adalah 65, yang dalam biner 8 bit adalah 01000001. Kata «Hi» terdiri dari dua huruf: H adalah 72 (01001000) dan i adalah 105 (01101001), sehingga ditulis 01001000 01101001. Untuk «Halo», angkanya 72, 97, 108, dan 111, yaitu 01001000 01100001 01101100 01101111, atau dalam heksadesimal 48 61 6C 6F.
Alat ini memakai pengodean UTF-8: untuk huruf dasar bahasa Inggris tiap karakter menempati satu byte 8 bit, tetapi huruf beraksen seperti é, atau emoji, menempati beberapa byte, sehingga hasilnya lebih dari 8 bit. Misalnya, huruf é adalah dua byte: 11000011 10101001 (C3 A9 dalam heksadesimal).
Cara melakukan semua ini dengan alat
Konverter «Biner, desimal, dan heksadesimal» berguna untuk memeriksa hitungan manualmu atau menyelesaikan bilangan panjang tanpa kesalahan.
- Ketik bilangan di kolom basisnya: «Desimal (basis 10)», «Biner (basis 2)», oktal, atau «Heksadesimal (basis 16)». Ketiga kolom lain terisi sendiri.
- Kalau ada digit yang tidak sesuai dengan basisnya (angka 2 pada biner, misalnya), alat akan memberi tahu.
- Untuk teks, ketik di kolom «Teks» dan lihat «Biner (8 bit per karakter)» serta heksadesimal per byte. Kamu juga bisa menempelkan bit dalam kelompok 8 untuk kembali ke teks.
- Untuk basis yang tidak umum, pakai «Basis apa saja (2 sampai 36)»: pilih basis asal, basis tujuan, dan angkanya.
Batasannya: hanya mengubah bilangan bulat non-negatif (tanpa desimal atau tanda) dan tidak menambahkan nol di depan untukmu, jadi kalau kamu ingin 8 bit tetap, lengkapi sendiri (13 menjadi 00001101). Apa pun yang kamu ketik tidak keluar dari browser kamu.
Kesalahan yang sering terjadi
- Membaca sisa dengan urutan terbalik: pada pembagian berulang, sisa pertama adalah digit paling kanan, bukan paling kiri.
- Melupakan nol di depan saat diperlukan: 13 adalah 1101, tetapi sebagai satu byte menjadi 00001101. Ini penting kalau panjangnya bagian dari data, seperti pada warna atau subnet mask jaringan.
- Menyamakan huruf O dengan angka nol, atau B heksadesimal (11) dengan angka 8, saat menyalin. Dalam heksadesimal huruf kapital dan huruf kecil bernilai sama, tetapi huruf tidak sama dengan digit.
- Menyertakan awalan 0x atau tanda # saat mengubah: keduanya hanya penanda bahwa bilangan itu heksadesimal dan harus dibuang sebelum ditempel.
- Mengira 10 dalam biner adalah sepuluh: itu dua. «10» yang sama bernilai 2, 10, atau 16 tergantung basisnya.
Latihan beserta jawabannya
Coba selesaikan tiap soal sebelum melihat jawabannya, lalu periksa dengan alat.
- Ubah 10110110 ke desimal dan heksadesimal. Jawaban: 128 + 32 + 16 + 4 + 2 = 182; dalam kelompok empat, 1011 0110 = B6.
- Ubah 200 ke biner dan heksadesimal. Jawaban: 11001000 dan C8 (12 × 16 + 8 = 200).
- Ubah 7F ke biner. Jawaban: 7 = 0111 dan F = 1111, jadi 01111111, yang dalam desimal adalah 127.
- Tulis «OK» dalam biner. Jawaban: O adalah 79 dan K adalah 75, yaitu 01001111 01001011.
Pertanyaan umum
Bagaimana mengubah 1101 dari biner ke desimal?
Jumlahkan nilai tempat yang berisi angka 1: 8 + 4 + 1 = 13. Digit kedua dari kanan adalah 0, jadi 2 tidak dijumlahkan.
Berapa 255 dalam biner dan heksadesimal?
255 adalah 11111111 dalam biner dan FF dalam heksadesimal. Itu nilai terbesar yang muat dalam satu byte 8 bit.
Mengapa heksadesimal memakai huruf?
Karena membutuhkan enam belas simbol berbeda, sedangkan sistem desimal hanya menyediakan sepuluh (0 sampai 9). Itu sebabnya A bernilai 10, B bernilai 11, C bernilai 12, D bernilai 13, E bernilai 14, dan F bernilai 15.
Berapa banyak angka berbeda yang bisa ditulis dengan 8 bit?
256, dari 0 sampai 255. Secara umum, dengan n bit bisa diwakili 2 pangkat n nilai.
Apakah alat ini mengubah bilangan negatif atau berdesimal?
Tidak, hanya bilangan bulat non-negatif. Untuk teks dipakai UTF-8, jadi huruf beraksen dan emoji menghasilkan lebih dari 8 bit.