Konverter Biner ke Desimal
Konversi bilangan biner ke desimal secara instan. Lihat langkah-langkah konversi. Mendukung angka apa pun. Kalkulator online gratis.
Cara Konversi Binary ke Decimal
Binary (basis-2) hanya menggunakan angka 0 dan 1. Setiap posisi mewakili kuasa 2, meningkat dari kiri ke kanan. Untuk mengubah binary ke decimal, kali setiap digit binary dengan nilai posisinya dan jumlahkan hasilnya.
Contoh: Konversi 1011₂ ke decimal
- Posisi 3 (kiri): 1 × 2³ = 1 × 8 = 8
- Posisi 2: 0 × 2² = 0 × 4 = 0
- Posisi 1: 1 × 2¹ = 1 × 2 = 2
- Posisi 0 (kanan): 1 × 2⁰ = 1 × 1 = 1
- Total: 8 + 0 + 2 + 1 = 11
Untuk decimal ke binary, terus membagi dengan 2 dan merekam sisa dari bawah ke atas. 11 ÷ 2 = 5 R1, 5 ÷ 2 = 2 R1, 2 ÷ 2 = 1 R0, 1 ÷ 2 = 0 R1 → membaca sisa ke atas: 1011.
Sistem notasi posisi ini bekerja sama seperti decimal — hanya dengan basis yang berbeda. Dalam decimal (basis-10), angka 347 berarti 3 × 10² + 4 × 10¹ + 7 × 10⁰ = 300 + 40 + 7. Binary menggunakan prinsip yang sama dengan kuasa 2 daripada kuasa 10.
Referensi Nilai Tempat Binary
Byte 8-bit adalah unit penyimpanan dasar komputer. Berikut adalah tabel nilai tempat lengkap untuk bilangan 8-bit (0–255):
| Posisi bit | Kuasa 2 | Nilai decimal |
|---|---|---|
| Bit 7 (MSB) | 2⁷ | 128 |
| Bit 6 | 2⁶ | 64 |
| Bit 5 | 2⁵ | 32 |
| Bit 4 | 2⁴ | 16 |
| Bit 3 | 2³ | 8 |
| Bit 2 | 2² | 4 |
| Bit 1 | 2¹ | 2 |
| Bit 0 (LSB) | 2⁰ | 1 |
Byte dapat mewakili nilai dari 0 (00000000₂) hingga 255 (11111111₂). Dua byte (16 bit) menutupi 0–65.535. Empat byte (32 bit) menutupi 0–4.294.967.295.
Tabel Kuasa 2 yang Diperluas
Untuk programmer dan ilmuwan komputer, mengetahui kuasa 2 hingga 2⁶⁴ penting untuk memahami alamat memori, jenis data, dan batasan sistem:
| Kuasa | Nilai Decimal | Signifikansi |
|---|---|---|
| 2⁰ | 1 | Unit terkecil (1 bit) |
| 2⁸ | 256 | Range byte 1 (0–255) |
| 2¹⁰ | 1.024 | 1 KiB (kibibyte) |
| 2¹⁶ | 65.536 | Range 16-bit; batas port TCP |
| 2²⁰ | 1.048.576 | 1 MiB (mebibyte) |
| 2²⁴ | 16.777.216 | Warna 24-bit (16,7 juta warna) |
| 2³⁰ | 1.073.741.824 | 1 GiB (gibibyte) |
| 2³² | 4.294.967.296 | Alamat 32-bit; IPv4 maksimum |
| 2⁴⁰ | 1.099.511.627.776 | 1 TiB (tebibyte) |
| 2⁶⁴ | 18.446.744.073.709.551.616 | Alamat 64-bit; CPU modern |
Perhatikan perbedaan antara prefiks binary (KiB, MiB, GiB — kuasa 2) dan prefiks SI (KB, MB, GB — kuasa 10). 1 GB = 1.000.000.000 byte; 1 GiB = 1.073.741.824 byte. Perbedaan ini sekitar 7% menjelaskan mengapa hard drive "500 GB" menampilkan sebagai ~465 GiB di OS (yang biasanya menggunakan unit binary secara internal).
Nilai Binary yang Umum dalam Komputasi
Nilai binary ini sering muncul dalam pemrograman, jaringan, dan administrasi sistem:
| Binary | Decimal | Hexadecimal | Context |
|---|---|---|---|
| 00000000 | 0 | 0x00 | Byte kosong, saluran warna hitam |
| 00001010 | 10 | 0x0A | Enter (Enter) karakter — Baris baru Unix |
| 00001101 | 13 | 0x0D | Retur kursor (CR) — Bagian baris baru Windows |
| 00100000 | 32 | 0x20 | Spasi karakter (ASCII) |
| 01000001 | 65 | 0x41 | ASCII 'A' |
| 01100001 | 97 | 0x61 | ASCII 'a' (berbeda dengan 'A' di bit ke-5) |
| 01111111 | 127 | 0x7F | Alamat lokal IP (oktet terakhir); karakter DEL |
| 10000000 | 128 | 0x80 | Awal ASCII yang diperluas / bit tanda |
| 11000000 | 192 | 0xC0 | Prefix jaringan Kelas C (192.x.x.x) |
| 11111111 | 255 | 0xFF | Siaran; byte maksimum; putih dalam RGB |
Perbandingan Binary, Hexadecimal, dan Octal
Programmer menggunakan basis bilangan yang berbeda tergantung pada konteks. Berikut adalah cara nilai yang sama muncul dalam setiap sistem:
| Decimal | Binary | Hexadecimal | Octal | Gunakan |
|---|---|---|---|---|
| 0 | 0000 | 0x0 | 0o0 | 0 / null |
| 7 | 0111 | 0x7 | 0o7 | Perizinan Unix (rwx) |
| 10 | 1010 | 0xA | 0o12 | — |
| 15 | 1111 | 0xF | 0o17 | Maksimum 4-bit (nibble) |
| 16 | 10000 | 0x10 | 0o20 | — |
| 127 | 1111111 | 0x7F | 0o177 | Maksimum tanda 8-bit |
| 255 | 11111111 | 0xFF | 0o377 | Maksimum tidak tanda 8-bit |
| 511 | 111111111 | 0x1FF | 0o777 | Perizinan Unix rwxrwxrwx |
| 1023 | 1111111111 | 0x3FF | 0o1777 | Maksimum 10-bit (ADC) |
Hexadecimal adalah shorthand yang paling umum untuk binary karena setiap digit hex mewakili tepatnya 4 bit binary — membuat konversi mudah. Octal mewakili 3 bit per digit dan digunakan terutama untuk perizinan Unix (misalnya, chmod 755 = 111 101 101 dalam binary = rwxr-xr-x).
Biner Bilangan Tanda (Dua's Komplement)
Komputer mewakili bilangan negatif menggunakan dua's komplement — standar yang ditentukan oleh IEEE dan digunakan oleh hampir semua prosesor modern. Dalam sistem 8-bit dua's komplement:
| Biner | Desimal Tidak Tanda | Tanda (Dua's Komplement) |
|---|---|---|
| 00000000 | 0 | 0 |
| 00000001 | 1 | +1 |
| 01111111 | 127 | +127 (maksimum positif) |
| 10000000 | 128 | −128 (minimum negatif) |
| 10000001 | 129 | −127 |
| 11111110 | 254 | −2 |
| 11111111 | 255 | −1 |
Untuk meniadakan sebuah bilangan dalam dua's komplement: invert semua bit dan tambahkan 1. Misalnya, +5 = 00000101 → invert → 11111010 → tambahkan 1 → 11111011 = −5.
Range untuk tipe integer umum:
| Tipe | Bit | Range Desimal Tidak Tanda | Range Tanda |
|---|---|---|---|
| byte / uint8 | 8 | 0 hingga 255 | −128 hingga +127 |
| short / int16 | 16 | 0 hingga 65.535 | −32.768 hingga +32.767 |
| int / int32 | 32 | 0 hingga 4.294.967.295 | −2.147.483.648 hingga +2.147.483.647 |
| long / int64 | 64 | 0 hingga 18,4 × 10¹⁸ | −9,2 × 10¹⁸ hingga +9,2 × 10¹⁸ |
Biner dalam Teknologi Sehari-hari
Biner adalah dasar dari semua komputasi modern karena transistor memiliki dua keadaan stabil (nyala/matikan, 1/0). Aplikasi kunci:
- Ukuran file: 1 kilobyte = 2¹⁰ = 1.024 byte; 1 megabyte = 2²⁰ = 1.048.576 byte; 1 gigabyte = 2³⁰ byte
- Warna: Warna RGB adalah tiga nilai 8-bit. #FF5733 dalam hex = (255, 87, 51) dalam desimal = (11111111, 01010111, 00110011) dalam biner
- Penyandian ASCII: Huruf 'A' = desimal 65 = biner 01000001; 'a' = 97 = 01100001
- Unicode: Banyak karakter teks yang sesuai dalam 16-bit biner (0–65.535 range)
- Alamat IP: Alamat IPv4 adalah empat kelompok biner 8-bit: 192.168.1.1 = 11000000.10101000.00000001.00000001
Memahami biner secara langsung membantu dalam pemrograman (operasi bitwise, flag), jaringan (penghitungan IP/subnet), dan bekerja dengan perangkat keras rendah.
Aritmatika Biner: Penjumlahan dan Pengurangan
Aritmatika biner mengikuti aturan yang sama dengan desimal, tetapi hanya memiliki dua digit. Tabel penjumlahan adalah:
| A | B | Hasil | Carry |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
Contoh: 1011 + 0110
Menghitung dari kanan ke kiri: 1+0=1, 1+1=10 (tulis 0 carry 1), 0+1+1=10 (tulis 0 carry 1), 1+0+1=10 (tulis 0 carry 1). Hasil: 10001 (desimal: 11+6=17 ✓)
Pengurangan dalam perangkat keras biasanya dilakukan dengan menambahkan dua's komplement dari subtrahend. Untuk menghitung A−B, prosesor menghitung A + (−B), di mana −B adalah dua's komplement dari B. Ini memungkinkan sebuah sirkuit penjumlahan tunggal untuk menangani baik penjumlahan dan pengurangan.
Operasi Bit
Bahasa pemrograman menyediakan operator bitwise yang mengubah bit individu. Ini adalah dasar untuk pemrograman rendah, sistem embedded, dan optimasi kinerja:
| Operasi | Simbol | Contoh (8-bit) | Hasil | Penggunaan |
|---|---|---|---|---|
| AND | & | 10110101 & 11110000 | 10110000 | Menggunakan bit mask, mengekstrak bidang |
| OR | | | 10110101 | 00001111 | 10111111 | Mengatur bit, menggabungkan flag |
| XOR | ^ | 10110101 ^ 11111111 | 01001010 | Mengganti bit, enkripsi sederhana |
| NOT | ~ | ~10110101 | 01001010 | Inversi bit |
| Shift ke kiri | << | 00000101 << 2 | 00010100 | Mengalikan dengan 2ⁿ |
| Shift ke kanan | >> | 00010100 >> 2 | 00000101 | Mengalikan dengan 2ⁿ |
Penyimpanan bit sangat lebih cepat daripada perkalian dan pembagian dalam banyak prosesor. x << 1 setara dengan x × 2, dan x >> 1 setara dengan x ÷ 2 (pembagian bulat). Mesin permainan dan firmware embedded menggunakan operasi ini secara luas untuk meningkatkan kinerja.
Binary-Coded Decimal (BCD)
Binary-Coded Decimal mewakili setiap digit desimal menggunakan pola biner 4-bit sendiri. Berbeda dengan biner murni, BCD mempertahankan struktur desimal:
| Desimal | Biner Murni | BCD |
|---|---|---|
| 0 | 0000 | 0000 |
| 5 | 0101 | 0101 |
| 9 | 1001 | 1001 |
| 10 | 1010 | 0001 0000 |
| 42 | 101010 | 0100 0010 |
| 99 | 1100011 | 1001 1001 |
| 255 | 11111111 | 0010 0101 0101 |
BCD kurang efisien ruang daripada biner murni (10 dari 16 kombinasi 4-bit yang mungkin digunakan), tetapi memudahkan penampilan desimal — setiap nibble mewakili digit yang ditampilkan secara langsung. BCD digunakan dalam jam digital, kalkulator, sistem keuangan (di mana representasi desimal yang tepat penting), dan database mainframe lama (COBOL, IBM EBCDIC).
Floating-Poin Binary (IEEE 754)
Bilangan desimal dengan bagian pecahan (seperti 3,14) disimpan dalam biner menggunakan standar IEEE 754. Sebuah float 32-bit (single-precision) memiliki tiga bagian:
| Field | Bits | Purpose |
|---|---|---|
| Tanda | 1 | 0 = positif, 1 = negatif |
| Ekspoenen | 8 | Ekspoenen yang bias (bias = 127) |
| Mantissa (signifikand) | 23 | Bagian pecahan (1 depan yang implisit) |
Contoh: Bilangan desimal −6,5 dalam IEEE 754 single-precision:
- Tanda = 1 (negatif)
- 6,5 dalam biner = 110,1₂ = 1,101 × 2² (normalisasi)
- Ekspoenen = 2 + 127 (bias) = 129 = 10000001₂
- Mantissa = 10100000000000000000000 (23 bit, 1 depan yang implisit dihilangkan)
- Representasi lengkap: 1 10000001 10100000000000000000000
Ini adalah mengapa 0,1 + 0,2 ≠ 0,3 di kebanyakan bahasa pemrograman — pecahan desimal 0,1 memiliki representasi yang berulang tak terbatas dalam biner (seperti 1/3 dalam desimal = 0,333…), sehingga harus di-round, menghasilkan kesalahan yang kecil. Untuk perhitungan keuangan, gunakan library aritmatika desimal (modul decimal Python, BigDecimal Java) daripada aritmatika float.
Karakter Encoding: Dari ASCII ke UTF-8
Teks disimpan sebagai bilangan biner yang di-mapping ke karakter. Evolusi encoding karakter merefleksikan ekspansi global komputer:
| Encoding | Tahun | Bits per Karakter | Karakter yang Dapat Dihendaki | Catatan |
|---|---|---|---|---|
| ASCII | 1963 | 7 (disimpan dalam 8) | 128 | Abjad Inggris, digit, tanda baca |
| ASCII Ekstensi (ISO 8859-1) | 1987 | 8 | 256 | Karakter Eropa Barat (é, ñ, ü) |
| UTF-8 | 1993 | 8–32 (variabel) | 1.112.064 | Kompatibel ke belakang dengan ASCII; standar web |
| UTF-16 | 1996 | 16–32 (variabel) | 1.112.064 | Digunakan di Java, Windows, JavaScript internal |
| UTF-32 | 2000 | 32 (tetap) | 1.112.064 | Lebar tetap; menghabiskan ruang untuk teks Latin |
UTF-8 mengkodekan karakter ASCII dalam satu byte (identik dengan ASCII biasa), karakter Eropa dalam 2 byte, karakter CJK dalam 3 byte, dan emoji dalam 4 byte. Lebih dari 98% semua halaman web menggunakan encoding UTF-8 (menurut W3Techs, 2024).
Logika Gate Biner
Gate logika adalah blok bangunan fisik dari semua sirkuit digital. Setiap gate melakukan operasi biner sederhana pada satu atau dua bit masukan:
| Gate | Simbol | Tabel Kebenaran (A,B → Keluaran) | Deskripsi |
|---|---|---|---|
| AND | A·B | 0,0→0; 0,1→0; 1,0→0; 1,1→1 | Keluaran adalah 1 hanya ketika kedua masukan adalah 1 |
| OR | A+B | 0,0→0; 0,1→1; 1,0→1; 1,1→1 | Keluaran adalah 1 ketika setidaknya satu masukan adalah 1 |
| NOT | ¬A | 0→1; 1→0 | Mengubah masukan |
| NAND | ¬(A·B) | 0,0→1; 0,1→1; 1,0→1; 1,1→0 | AND diikuti oleh NOT — gate universal |
| XOR | A⊕B | 0,0→0; 0,1→1; 1,0→1; 1,1→0 | Keluaran adalah 1 ketika masukan berbeda |
Gate NAND disebut gate universal karena fungsi logika lain dapat dibangun menggunakan hanya gate NAND. CPU modern mengandung miliaran transistor yang diatur menjadi gate NAND dan NOR, yang kemudian dikombinasikan menjadi penjumlah, multiplexer, flip-flop, dan semua blok bangunan lainnya dari prosesor. Chip Apple M3 mengandung sekitar 25 miliar transistor — setiap transistor adalah sakelar biner mikroskopis yang dapat diaktifkan (1) atau dimatikan (0).
Gate XOR memiliki sifat khusus: keluarannya adalah 1 ketika dua masukan berbeda. Ini membuatnya sebagai dasar dari penjumlahan biner (bit sum dari penjumlahan setengah), deteksi kesalahan (periksa paritas), dan enkripsi sederhana (cipher XOR).
Seluruh Sejarah Binary: Dari Leibniz ke Komputasi Modern
Sistem bilangan biner memiliki sejarah intelektual yang kaya:
| Tahun | Orang/Peristiwa | Kontribusi |
|---|---|---|
| ~300 SM | Pingala (matematikawan India) | Menggunakan sistem biner seperti untuk mengklasifikasikan meter puisi |
| 1679 | Gottfried Leibniz | Menggambarkan aritmatika biner modern secara resmi; melihat koneksi ke I Ching Cina |
| 1847 | George Boole | Menerbitkan "Analisis Matematika Logika" — fondasi algebra Boolean |
| 1937 | Claude Shannon (tesis S2 MIT) | Menggambarkan algebra Boolean dapat menggambarkan sirkuit switching listrik |
| 1945 | John von Neumann | Mengusulkan arsitektur komputer biner penyimpan (arsitektur von Neumann) |
| 1971 | Intel 4004 | Prosesor komersial pertama — 2.300 transistor, 4-bit biner |
| 2024 | Prosesor modern | Billions transistor; arsitektur biner 64-bit standar |
Insight Leibniz bahwa semua bilangan dapat dinyatakan menggunakan hanya 0 dan 1 adalah matematika murni — dia tidak pernah membayangkan komputer elektronik. Tesis Shannon tahun 1937 menghubungkan logika Boolean (biner) ke relay listrik, menciptakan fondasi teoretis untuk semua elektronik digital. Ini telah disebut "mungkin tesis S2 abad ke-20 yang paling penting."
Binary dalam Jaringan: Alamat IP dan Mask Subnet
Pemahaman biner sangat penting untuk administrasi jaringan. Alamat IPv4 dan mask subnet adalah bilangan biner 32-bit:
| Deskripsi | Decimal Titik | Biner |
|---|---|---|
| Alamat IP | 192.168.1.100 | 11000000.10101000.00000001.01100100 |
| Mask Subnet (/24) | 255.255.255.0 | 11111111.11111111.11111111.00000000 |
| Alamat Jaringan | 192.168.1.0 | 11000000.10101000.00000001.00000000 |
| Alamat Siaran | 192.168.1.255 | 11000000.10101000.00000001.11111111 |
Alamat jaringan dihitung dengan AND-nya antara IP dengan mask subnet. Alamat siaran menetapkan semua bit host ke 1. Jumlah alamat host yang dapat digunakan = 2^(32−prefix) − 2. Untuk jaringan /24: 2⁸ − 2 = 254 host yang dapat digunakan.
Ukuran subnet yang umum:
| CIDR | Mask Subnet | Host | Penggunaan Umum |
|---|---|---|---|
| /32 | 255.255.255.255 | 1 | Route host tunggal |
| /30 | 255.255.255.252 | 2 | Link point-to-point |
| /24 | 255.255.255.0 | 254 | Jaringan LAN standar |
| /16 | 255.0.0.0 | 65.534 | Jaringan kampus besar |
| /8 | 255.0.0.0 | 16.777.214 | Penetapan Kelas A |
Berikut Pertanyaan yang Sering Diajukan
Cara mengubah 1100 ke desimal?
1100 dalam biner: 1×8 + 1×4 + 0×2 + 0×1 = 8 + 4 = 12. Jadi biner 1100 = desimal 12.
Apakah 255 dalam biner?
255 dalam biner adalah 11111111 — semua delapan bit diatur ke 1. Ini adalah nilai maksimum dari satu byte dan muncul dalam jaringan (mask subnet 255.255.255.0) dan nilai warna (merah penuh = 255, 0, 0).
Cara mengubah desimal 100 ke biner?
Bagi secara berulang: 100÷2=50 R0, 50÷2=25 R0, 25÷2=12 R1, 12÷2=6 R0, 6÷2=3 R0, 3÷2=1 R1, 1÷2=0 R1. Membaca sisa ke atas: 1100100₂. Verifikasi: 64+32+4 = 100. ✓
Apa perbedaan antara biner dan heksadesimal?
Biner menggunakan basis 2 (digit 0–1); heksadesimal menggunakan basis 16 (digit 0–9, A–F). Heksadesimal adalah singkatan pendek untuk biner — setiap digit heksadesimal mewakili tepatnya 4 bit biner. Contoh, heksadesimal FF = biner 11111111 = desimal 255.
Mengapa komputer menggunakan biner daripada desimal?
Sirkuit listrik alami biner: transistor adalah (1) atau (0), dan tegangan adalah (tinggi) atau (rendah). Desimal memerlukan 10 tingkat tegangan yang berbeda, yang sulit untuk diimplementasikan secara andal dalam perangkat keras. Biner tahan terhadap gangguan dan memetakan operasi logika benar/salah dengan sempurna.
Apa itu dua's complement?
Dua's complement adalah metode standar untuk mewakili bilangan bulat (positif dan negatif) dalam biner. Untuk menemukan dua's complement (negatif) dari sebuah bilangan: balik semua bit dan tambahkan 1. Dalam sistem 8-bit, +5 adalah 00000101, dan −5 adalah 11111011. Bit terdepan adalah bit tanda: 0 = positif, 1 = negatif. Sistem ini memungkinkan perangkat keras menggunakan sirkuit penjumlahan yang sama untuk penjumlahan dan pengurangan.
Cara mengubah biner ke heksadesimal?
Grup bit biner ke dalam set 4 dari kanan ke kiri, lalu ubah setiap grup. Contoh: 10110101₂ → 1011 0101 → B5₁₆. Grup-grup adalah: 0000=0, 0001=1, 0010=2, ..., 1001=9, 1010=A, 1011=B, 1100=C, 1101=D, 1110=E, 1111=F.