Apakah sistem kedudukan
Dalam nombor perpuluhan 4,095, angka 4 bukan bernilai 4: ia bernilai 4,000, kerana ia berada di tempat ribu. Setiap kedudukan mendarab digit dengan kuasa 10 (1, 10, 100, 1,000…). Itulah sistem kedudukan, dan asas ialah bilangan digit berbeza yang digunakan: sepuluh dalam sistem perpuluhan.
Binari berfungsi sama, tetapi dengan asas 2: hanya ada 0 dan 1, dan setiap tempat bernilai dua kali ganda tempat sebelumnya. Heksaperpuluhan menggunakan asas 16: enam belas digitnya ialah 0 hingga 9 dan huruf A hingga F, dan setiap tempat bernilai 16 kali ganda tempat sebelumnya. Komputer bekerja dalam binari kerana sesuatu litar hanya perlu membezakan dua keadaan (mati dan hidup), dan heksaperpuluhan ialah cara ringkas untuk menulis bit tersebut.
| Kedudukan (dari kanan ke kiri) | Nilai dalam binari | Nilai dalam heksaperpuluhan |
|---|---|---|
| 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 binari ke perpuluhan, secara manual
Tulis setiap digit dengan nilai tempatnya dan tambah hanya tempat yang mempunyai 1. Contoh dengan 1101: dari kanan ke kiri, tempat-tempat itu bernilai 1, 2, 4 dan 8.
- Tulis nombor itu dan di bawahnya nilai setiap kedudukan: 1 1 0 1 di atas 8 4 2 1.
- Lihat apa yang ada pada setiap tempat: 1 pada tempat 8, 1 pada tempat 4, 0 pada tempat 2 dan 1 pada tempat 1.
- Abaikan tempat yang mempunyai 0 (di sini, tempat 2).
- Tambah: 8 + 4 + 0 + 1 = 13. Jadi 1101 dalam binari ialah 13 dalam perpuluhan.
Dengan lebih banyak digit, caranya sama: 11111111 ialah 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255, nilai terbesar yang muat dalam 8 bit. Dan 10110110 ialah 128 + 32 + 16 + 4 + 2 = 182.
Dari perpuluhan ke binari, dengan pembahagian berulang
Bahagikan nombor dengan 2 berulang kali, catat baki setiap pembahagian (sentiasa 0 atau 1), sehingga hasil bahagi menjadi 0. Baki-baki itu, dibaca dari bawah ke atas, ialah nombor binari. Contoh dengan 45:
- 45 ÷ 2 = 22, baki 1
- 22 ÷ 2 = 11, baki 0
- 11 ÷ 2 = 5, baki 1
- 5 ÷ 2 = 2, baki 1
- 2 ÷ 2 = 1, baki 0
- 1 ÷ 2 = 0, baki 1
Apabila baki dibaca dari bawah ke atas, hasilnya 101101. Untuk menyemak, tambah: 32 + 8 + 4 + 1 = 45.
Ada kaedah alternatif yang digemari ramai: menolak kuasa 2 dari yang terbesar. Untuk 200: 128 muat (baki 72), 64 muat (baki 8), 32 dan 16 tidak muat, tetapi 8 muat (baki 0). Tempat yang digunakan ialah 128, 64 dan 8, jadi 200 = 11001000.
Heksaperpuluhan: enam belas digit dan jadual untuk dirujuk
Oleh sebab tiada digit untuk 10 hingga 15, huruf A, B, C, D, E dan F digunakan. Satu digit heksaperpuluhan sama tepat dengan empat bit (satu “nibble”), dan itulah sebabnya ia begitu berguna: satu bait, iaitu 8 bit, ditulis dengan hanya dua digit heksaperpuluhan.
Untuk menukar heksaperpuluhan ke perpuluhan, darabkan setiap digit dengan kuasa 16 bagi tempatnya dan tambah. Contohnya, 3F = 3 × 16 + 15 = 63 dan A3 = 10 × 16 + 3 = 163.
| Perpuluhan | Binari (4 bit) | Oktal | Heksaperpuluhan |
|---|---|---|---|
| 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 heksaperpuluhan digunakan: bait, warna dan alamat
Satu bait ialah 8 bit dan bernilai 0 hingga 255 (00000000 hingga 11111111). Menulis bit secara manual perlahan dan mudah tersilap; dalam heksaperpuluhan bait yang sama ialah dua aksara, dari 00 hingga FF. Untuk menukar binari ke heksaperpuluhan, pisahkan bit kepada kumpulan empat dari kanan dan gantikan setiap kumpulan dengan digitnya daripada jadual. Contoh: 11010111 dipecahkan kepada 1101 dan 0111, iaitu D dan 7, jadi nilainya D7. Dalam perpuluhan ia 13 × 16 + 7 = 215.
Kes yang paling terkenal ialah warna web. Dalam #FF8800 terdapat tiga bait: FF untuk merah (255), 88 untuk hijau (136) dan 00 untuk biru (0). Ia jingga yang pekat: semua merah, hijau sedikit lebih separuh dan tiada biru. Heksaperpuluhan juga muncul dalam alamat memori, kod ralat dan pengecam rangkaian.
Dari teks ke binari dengan ASCII
Komputer menyimpan setiap huruf sebagai nombor, dan nombor itu sebagai bit. Dalam jadual ASCII, A ialah 65, yang dalam binari 8 bit ialah 01000001. Perkataan “Hi” terdiri daripada dua huruf: H ialah 72 (01001000) dan i ialah 105 (01101001), jadi ia ditulis 01001000 01101001. Bagi “Hola” ia 72, 111, 108 dan 97, iaitu 01001000 01101111 01101100 01100001, atau dalam heksaperpuluhan 48 6F 6C 61.
Alat ini menggunakan pengekodan UTF-8: bagi huruf asas bahasa Inggeris, setiap aksara memakan satu bait 8 bit, tetapi huruf beraksen atau emoji memakan beberapa bait, jadi ia lebih daripada 8 bit. Contohnya, huruf ñ ialah dua bait: 11000011 10110001 (C3 B1 dalam heksaperpuluhan).
Cara melakukan semua ini dengan alat
Penukar “Binari, Perpuluhan dan Heksa” berguna untuk menyemak pengiraan manual anda atau menyelesaikan nombor panjang tanpa kesilapan.
- Taip nombor dalam medan asasnya: “Perpuluhan (asas 10)”, “Binari (asas 2)”, “Oktal (asas 8)” atau “Heksaperpuluhan (asas 16)”. Tiga yang lain diisi sendiri.
- Jika digit tidak sesuai dengan asas (angka 2 dalam binari, misalnya), alat ini akan memberitahu anda.
- Untuk teks, taip dalam medan “Teks” dan lihat “Binari (8 bit setiap aksara)” serta heksaperpuluhan mengikut bait. Anda juga boleh menampal bit dalam kumpulan 8 untuk kembali kepada teks.
- Untuk asas yang jarang digunakan, gunakan “Mana-mana asas (2 hingga 36)”: anda pilih asas asal, asas sasaran dan nombor.
Had: ia hanya menukar integer bukan negatif (tanpa perpuluhan atau tanda) dan tidak menambah sifar di hadapan untuk anda, jadi jika anda mahu 8 bit tetap, anda perlu melengkapkannya sendiri (13 ialah 00001101). Tiada apa yang anda taip keluar dari pelayar anda.
Kesilapan biasa
- Membaca baki secara terbalik: dalam pembahagian berulang, baki pertama ialah digit paling kanan, bukan paling kiri.
- Melupakan sifar di hadapan apabila ia diperlukan: 13 ialah 1101, tetapi sebagai bait ia 00001101. Ini penting apabila panjang ialah sebahagian daripada data, seperti dalam warna atau topeng rangkaian.
- Mengelirukan huruf O dengan sifar atau B heksaperpuluhan (11) dengan 8 semasa menyalin. Dalam heksaperpuluhan, huruf bernilai sama sama ada huruf besar atau kecil, tetapi ia tidak sama dengan digit.
- Membiarkan awalan 0x atau tanda # semasa menukar: ia hanya penanda bahawa nombor itu heksaperpuluhan dan perlu dibuang sebelum menampal.
- Menyangka 10 dalam binari ialah sepuluh: ia ialah dua. “10” yang sama bernilai 2, 10 atau 16 bergantung pada asas.
Latihan yang diselesaikan untuk berlatih
Cuba selesaikan setiap satu sebelum melihat jawapan dan semak selepas itu dengan alat ini.
- Tukar 10110110 kepada perpuluhan dan heksaperpuluhan. Jawapan: 128 + 32 + 16 + 4 + 2 = 182; dalam kumpulan empat, 1011 0110 = B6.
- Tukar 200 kepada binari dan heksaperpuluhan. Jawapan: 11001000 dan C8 (12 × 16 + 8 = 200).
- Tukar 7F kepada binari. Jawapan: 7 = 0111 dan F = 1111, maka 01111111, yang dalam perpuluhan ialah 127.
- Tulis “OK” dalam binari. Jawapan: O ialah 79 dan K ialah 75, iaitu 01001111 01001011.
Soalan lazim
Bagaimana saya menukar 1101 dari binari ke perpuluhan?
Tambah nilai tempat yang mempunyai 1: 8 + 4 + 1 = 13. Digit kedua dari kanan ialah 0, jadi 2 tidak ditambah.
Berapakah 255 dalam binari dan heksaperpuluhan?
255 ialah 11111111 dalam binari dan FF dalam heksaperpuluhan. Ia nilai terbesar yang muat dalam satu bait 8 bit.
Mengapa heksaperpuluhan menggunakan huruf?
Kerana ia memerlukan enam belas simbol berbeza dan sistem perpuluhan hanya menyediakan sepuluh (0 hingga 9). Maka A bernilai 10, B bernilai 11, C bernilai 12, D bernilai 13, E bernilai 14 dan F bernilai 15.
Berapa banyak nombor berbeza yang boleh ditulis dengan 8 bit?
256, dari 0 hingga 255. Secara umum, dengan n bit anda boleh mewakili 2 kuasa n nilai.
Adakah alat ini menukar nombor negatif atau perpuluhan?
Tidak, hanya integer bukan negatif. Untuk teks ia menggunakan UTF-8, jadi huruf beraksen dan emoji memberi lebih daripada 8 bit.