Basis bilangan (juga disebut radix) menentukan berapa banyak simbol digit unik yang digunakan dalam sistem bilangan posisional — manusia menggunakan basis 10 (desimal, digit 0–9) hampir secara eksklusif untuk aritmatika sehari-hari, namun komputer beroperasi secara internal dalam basis 2 (biner, digit 0 dan 1), pemrogram membaca alamat memori dalam basis 16 (heksadesimal, digit 0–9 dan A–F), dan izin file Unix secara tradisional dinyatakan dalam basis 8 (oktal). Konversi antar basis merupakan hal mendasar dalam ilmu komputer, pemrograman tertanam, dan elektronik digital. Bagian di bawah ini membahas mengapa basis berbeda ada dan kapan masing-masing basis digunakan, bagaimana notasi posisi bekerja secara identik di basis apa pun, dan komplemen dua — representasi cerdas yang memungkinkan komputer menangani bilangan bulat negatif dengan sirkuit yang sama yang digunakan untuk bilangan bulat positif.

Mengapa Biner, Oktal, dan Hex Tetap Ada

Komputer beroperasi dalam biner karena sirkuit digital memiliki dua keadaan stabil — tegangan tinggi (1) atau rendah (0) — dan setiap representasi data lainnya harus dipetakan ke lapisan biner yang mendasarinya. Transistor dalam silikon dapat menghantarkan listrik atau tidak; domain magnetis menunjuk ke satu arah atau yang lain; sel dalam memori flash menyimpan muatan tinggi atau rendah. Oleh karena itu, representasi biner bukanlah pilihan desain, melainkan batasan fisik perangkat keras digital.

Heksadesimal (basis 16) tetap ada karena setiap digit heksadesimal mewakili tepat 4 digit biner, sehingga heksa merupakan singkatan ringkas yang dapat dibaca manusia untuk biner: satu byte (8 bit) hanya memerlukan 2 digit heksadesimal (00–FF), bukan 8 digit biner (00000000–11111111). Alamat memori, kode warna (#FF5733), alamat MAC, dan nilai hash semuanya menggunakan hex agar mudah dibaca. Oktal (basis 8) mewakili 3 digit biner per simbol dan bertahan dalam izin file Unix (rwxr-xr-x = 755) dan beberapa sistem tertanam. Basis 10 murni untuk kenyamanan manusia karena memiliki 10 jari — komputer tidak menggunakan desimal secara internal dan hanya mengonversinya untuk ditampilkan kepada pengguna manusia, sehingga menimbulkan kesalahan pembulatan (seperti 0,1 tidak dapat direpresentasikan secara tepat dalam biner) yang terkadang mengejutkan pemrogram.

Notasi Posisi di Semua Basis

Notasi posisi bekerja secara identik pada basis apa pun — setiap posisi digit mewakili pangkat basis. Pada basis 10, bilangan 5,273 berarti 5×10³ + 2×10² + 7×10¹ + 3×10⁰ = 5000 + 200 + 70 + 3. Pada basis 2, bilangan biner 1101 berarti 1×2³ + 1×2² + 0×2¹ + 1×2⁰ = 8 + 4 + 0 + 1 = 13 desimal. Pada basis 16, bilangan heksadesimal 2AF berarti 2×16² + 10×16¹ + 15×16⁰ = 512 + 160 + 15 = 687 desimal.

Keseragaman ini berarti algoritme konversi tetap identik, apa pun basis yang terlibat: kalikan setiap digit dengan bobot posisinya dan jumlahkan hasilnya untuk mendapatkan desimal, lalu bagi berulang kali dengan basis target dan catat sisanya untuk mengonversi desimal ke basis lainnya. Kalkulator mengotomatiskan proses ini sekaligus mendukung basis khusus dari 2 hingga 36 (menggunakan angka 0-9 diikuti huruf A-Z untuk angka bernilai lebih tinggi). Basis 36 adalah representasi maksimum dengan karakter alfanumerik standar dan kadang-kadang digunakan untuk pengkodean kompak bilangan bulat besar (penyingkat URL, pengidentifikasi file) di mana angka desimal 10 digit dapat dikompresi menjadi representasi basis 36 6 digit.

Komplemen Dua untuk Bilangan Bulat Bertanda

Komputer memerlukan cara untuk mewakili bilangan bulat negatif secara efisien, dan komplemen dua adalah solusi modern universal yang digunakan di hampir setiap CPU yang diproduksi sejak tahun 1970an. Dalam komplemen n-bit dua, bit paling signifikan mewakili -2^(n-1) sedangkan bit sisanya mewakili nilai positif. Untuk komplemen dua 8-bit: nilai 00000001 adalah +1, 01111111 adalah +127 (maksimum), 10000000 adalah -128 (minimum), dan 11111111 adalah -1. Kisaran untuk bilangan bulat bertanda n-bit adalah -2^(n-1) hingga +2^(n-1)-1, yang asimetris karena nol mengambil salah satu kode positif.

Komplemen dua memiliki keunggulan praktis yang penting: penjumlahan dan pengurangan bekerja secara identik dengan aritmatika tak bertanda tangan tanpa kasus khusus untuk bilangan negatif, sehingga perangkat keras hanya memerlukan satu rangkaian penjumlah untuk operasi bertanda tangan dan tak bertanda tangan. Untuk meniadakan suatu bilangan, balikkan semua bit dan tambahkan 1 — itu saja. Representasi alternatif (besarnya tanda, komplemen seseorang) tidak lagi disukai karena memerlukan logika perangkat keras terpisah untuk operasi yang ditandatangani atau memiliki dua representasi nol (+0 dan -0), yang keduanya menambah kompleksitas tanpa manfaat. Kalkulator menampilkan representasi komplemen dua untuk nilai bilangan bulat apa pun dengan lebar 8, 16, 32, atau 64 bit, yang sangat berguna saat men-debug kode tersemat atau mendekode format file biner yang umum menggunakan nilai bertanda.