Binari, perpuluhan dan heksaperpuluhan: cara menukar antara satu sama lain

Menukar antara asas nampak seperti sihir sehingga anda sedar bahawa ia sentiasa idea yang sama: setiap digit bernilai mengikut tempat yang didudukinya. Di sini anda belajar menukar binari ke perpuluhan dan perpuluhan ke binari secara manual, membaca heksaperpuluhan tanpa rasa takut, dan menterjemah teks kepada bit, dengan pengiraan yang diselesaikan dan jadual 0 hingga 15 untuk dirujuk.

Dikemas kini:

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.

Nilai setiap tempat. Menghafal kuasa 2 hingga 128 menjimatkan hampir semua pengiraan.
Kedudukan (dari kanan ke kiri)Nilai dalam binariNilai dalam heksaperpuluhan
ke-111
ke-2216
ke-34256
ke-484,096
ke-51665,536
ke-6321,048,576
ke-76416,777,216
ke-8128268,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.

  1. Tulis nombor itu dan di bawahnya nilai setiap kedudukan: 1 1 0 1 di atas 8 4 2 1.
  2. Lihat apa yang ada pada setiap tempat: 1 pada tempat 8, 1 pada tempat 4, 0 pada tempat 2 dan 1 pada tempat 1.
  3. Abaikan tempat yang mempunyai 0 (di sini, tempat 2).
  4. 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:

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.

Dari 0 hingga 15 dalam empat asas yang ditunjukkan oleh alat ini.
PerpuluhanBinari (4 bit)OktalHeksaperpuluhan
0000000
1000111
2001022
3001133
4010044
5010155
6011066
7011177
81000108
91001119
10101012A
11101113B
12110014C
13110115D
14111016E
15111117F

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.

  1. Taip nombor dalam medan asasnya: “Perpuluhan (asas 10)”, “Binari (asas 2)”, “Oktal (asas 8)” atau “Heksaperpuluhan (asas 16)”. Tiga yang lain diisi sendiri.
  2. Jika digit tidak sesuai dengan asas (angka 2 dalam binari, misalnya), alat ini akan memberitahu anda.
  3. 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.
  4. 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

Latihan yang diselesaikan untuk berlatih

Cuba selesaikan setiap satu sebelum melihat jawapan dan semak selepas itu dengan alat ini.

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.