Penukar Biner-Dekat: Tukar Antara Sistem Nombor
Tukar nombor antara sistem biner dan dekad dengan mudah menggunakan alat dalam talian percuma ini. Penukaran segera dengan visualisasi pendidikan.
Penukar Binari-Decimel
Tukar antara sistem nombor binari dan decimel dengan serta-merta.
Nombor binari hanya menggunakan 0 dan 1
Nombor decimel menggunakan digit 0-9
Masukkan nilai dalam mana-mana medan untuk melihat penukaran dalam medan yang lain.
Masukkan nilai dalam mana-mana medan untuk melihat penukaran dalam medan yang lain.
Dokumentasi
Penukar Binari-Dekat: Tukar Antara Sistem Nombor Dengan Segera
Pengenalan
Penukar Binari-Dekat adalah alat yang penting bagi sesiapa yang bekerja dengan sistem nombor yang berbeza. Binari (asas-2) dan dekat (asas-10) adalah dua sistem nombor asas yang digunakan dalam pengkomputeran dan matematik. Penukar binari kepada dekat kami membolehkan anda menterjemah nombor antara sistem ini dengan segera dan tepat. Sama ada anda seorang pelajar sains komputer yang sedang belajar tentang representasi binari, seorang pengaturcara yang sedang menyahpepijat kod, atau seorang peminat elektronik yang bekerja dengan litar digital, penukar ini memudahkan proses menukar antara format nombor binari dan dekat tanpa memerlukan pengiraan manual yang kompleks.
Nombor binari, yang terdiri hanya daripada 0 dan 1, membentuk asas semua sistem pengkomputeran digital, manakala sistem dekat dengan digit 0-9 adalah apa yang kita gunakan dalam kehidupan seharian. Memahami hubungan antara sistem ini adalah penting bagi sesiapa yang terlibat dalam sains komputer, pengaturcaraan, atau elektronik digital. Alat ini merapatkan jurang antara sistem nombor ini, menjadikan penukaran tanpa usaha dan bebas daripada ralat.
Cara Sistem Nombor Binari dan Dekat Berfungsi
Memahami Sistem Dekat (Asas-10)
Sistem dekat adalah sistem nombor standard kita, menggunakan 10 digit (0-9). Dalam sistem nombor berposisi ini, kedudukan setiap digit mewakili kuasa 10:
Sebagai contoh, nombor dekat 427 mewakili:
- 4 × 10² (400)
- 2 × 10¹ (20)
- 7 × 10⁰ (7)
Menjumlahkan nilai ini: 400 + 20 + 7 = 427
Memahami Sistem Binari (Asas-2)
Sistem binari menggunakan hanya dua digit (0 dan 1). Setiap kedudukan dalam nombor binari mewakili kuasa 2:
Sebagai contoh, nombor binari 1010 mewakili:
- 1 × 2³ (8)
- 0 × 2² (0)
- 1 × 2¹ (2)
- 0 × 2⁰ (0)
Menjumlahkan nilai ini: 8 + 0 + 2 + 0 = 10 dalam dekat
Formula dan Algoritma Penukaran
Penukaran Binari kepada Dekat
Untuk menukar nombor binari kepada dekat, darabkan setiap digit dengan kuasa 2 yang sepadan dan jumlahkan hasilnya:
Di mana:
- adalah digit binari (0 atau 1)
- adalah kedudukan dari kanan ke kiri (bermula dengan 0)
- adalah bilangan digit dalam nombor binari tolak 1
Contoh: Menukar binari 1101 kepada dekat
- 1 × 2³ = 8
- 1 × 2² = 4
- 0 × 2¹ = 0
- 1 × 2⁰ = 1
- Jumlah: 8 + 4 + 0 + 1 = 13
Penukaran Dekat kepada Binari
Untuk menukar nombor dekat kepada binari, bahagikan nombor itu dengan 2 berulang kali dan rekodkan baki dalam urutan terbalik:
- Bahagikan nombor dekat dengan 2
- Rekodkan baki (0 atau 1)
- Bahagikan hasil bahagi dengan 2
- Ulang langkah 2-3 sehingga hasil bahagi menjadi 0
- Baca baki dari bawah ke atas
Contoh: Menukar dekat 25 kepada binari
- 25 ÷ 2 = 12 baki 1
- 12 ÷ 2 = 6 baki 0
- 6 ÷ 2 = 3 baki 0
- 3 ÷ 2 = 1 baki 1
- 1 ÷ 2 = 0 baki 1
- Membaca dari bawah ke atas: 11001
Panduan Langkah demi Langkah untuk Menggunakan Penukar Binari-Dekat
Penukar binari-dekat kami direka untuk menjadi intuitif dan mesra pengguna. Ikuti langkah-langkah mudah ini untuk menukar antara nombor binari dan dekat:
Menukar Binari kepada Dekat
- Masukkan nombor binari: Taip nombor binari (yang terdiri hanya daripada 0 dan 1) dalam medan input "Binari".
- Lihat hasilnya: Nombor dekat yang setara akan muncul secara automatik dalam medan "Dekat".
- Salin hasilnya: Klik butang "Salin" di sebelah hasil dekat untuk menyalinnya ke papan klip anda.
Menukar Dekat kepada Binari
- Masukkan nombor dekat: Taip nombor bulat bukan negatif dalam medan input "Dekat".
- Lihat hasilnya: Nombor binari yang setara akan muncul secara automatik dalam medan "Binari".
- Salin hasilnya: Klik butang "Salin" di sebelah hasil binari untuk menyalinnya ke papan klip anda.
Memahami Proses Penukaran
Penukar juga menyediakan penjelasan visual tentang proses penukaran, menunjukkan kepada anda bagaimana setiap penukaran dilakukan secara matematik. Ciri pendidikan ini membantu anda memahami prinsip asas penukaran sistem nombor.
Aplikasi Praktikal dan Kes Penggunaan
Penukaran binari-dekat adalah asas dalam pelbagai bidang dan aplikasi:
Sains Komputer dan Pengaturcaraan
- Representasi Data: Memahami bagaimana komputer menyimpan dan mewakili data secara dalaman
- Penyahpepijatan: Menukar antara sistem nombor untuk mengesahkan alamat memori dan nilai
- Operasi Bitwise: Melakukan operasi seperti AND, OR, XOR pada representasi binari
- Pembangunan Algoritma: Melaksanakan algoritma yang berfungsi dengan data binari
Elektronik Digital
- Reka Bentuk Litar: Merancang dan menganalisis litar digital yang beroperasi berdasarkan logik binari
- Pengaturcaraan Mikropengawal: Bekerja dengan pendaftaran dan alamat memori dalam sistem terbenam
- Antara Muka Perkakasan: Memahami protokol komunikasi antara komponen perkakasan
Pendidikan
- Pendidikan Sains Komputer: Mengajar konsep asas sistem nombor
- Pendidikan Matematik: Meneroka pelbagai asas nombor dan teknik penukaran
- Logik dan Algebra Boolean: Memahami hubungan antara nombor binari dan operasi logik
Pengkomputeran Seharian
- Pengalamatan IP: Memahami representasi binari dalam rangkaian (IPv4/IPv6)
- Kebenaran Fail: Kebenaran fail Unix/Linux sering diwakili dalam binari/octal
- Kod Warna: Nilai warna RGB boleh diwakili dalam binari atau heksadesimal
Contoh: Menukar Alamat IP
Alamat IPv4 seperti 192.168.1.1 boleh diwakili dalam binari sebagai:
- 192 = 11000000
- 168 = 10101000
- 1 = 00000001
- 1 = 00000001
Digabungkan: 11000000.10101000.00000001.00000001
Alternatif kepada Penukaran Binari-Dekat
Walaupun binari dan dekat adalah sistem nombor yang paling biasa digunakan, sistem lain mempunyai aplikasi penting:
Heksadesimal (Asas-16)
Heksadesimal menggunakan 16 digit (0-9 dan A-F) dan sering digunakan sebagai cara yang lebih padat untuk mewakili data binari. Setiap digit heksadesimal mewakili tepat 4 digit binari.
Contoh: Binari 1010 1101 = Heksadesimal AD
Oktal (Asas-8)
Oktal menggunakan 8 digit (0-7) dan pernah penting dalam pengkomputeran. Setiap digit oktal mewakili tepat 3 digit binari.
Contoh: Binari 101 011 = Oktal 53
Nombor Kod Binari (BCD)
BCD mewakili setiap digit dekat menggunakan bilangan tetap digit binari (biasanya 4). Ia digunakan dalam aplikasi di mana representasi dekat diperlukan, seperti jam digital.
Contoh: Dekat 42 dalam BCD = 0100 0010
Sejarah Sistem Nombor Binari dan Dekat
Asal Usul Sistem Dekat
Sistem dekat telah menjadi sistem nombor yang dominan dalam sejarah manusia, mungkin kerana manusia mempunyai sepuluh jari. Bukti sistem pengiraan dekat boleh dikesan kembali ke tamadun purba:
- Mesir Purba (3000 SM): Nombor hieroglif menggunakan asas-10
- Babylonian (2000 SM): Menggunakan sistem campuran asas-60 dan asas-10
- Matematik India (500 M): Mengembangkan konsep sifar dan notasi berposisi
- Matematik Arab (800 M): Menyebarkan sistem nombor Hindu-Arab ke Eropah
Perkembangan Sistem Binari
Sistem binari mempunyai sejarah yang lebih baru tetapi sama menarik:
- China Purba (1000 SM): I Ching menggunakan notasi seperti binari dengan garis patah dan tidak patah
- Gottfried Wilhelm Leibniz (1679): Menerbitkan "Penjelasan Aritmetik Binari," rawatan formal pertama tentang sistem binari
- George Boole (1854): Membangunkan algebra Boolean, yang menggunakan nilai binari (benar/salah)
- Claude Shannon (1937): Menerapkan algebra Boolean kepada litar elektronik, meletakkan asas bagi pengkomputeran digital
Binari dalam Pengkomputeran Moden
- John Atanasoff dan Clifford Berry (1939): Merancang komputer digital elektronik pertama menggunakan aritmetik binari
- John von Neumann (1945): Mencadangkan seni bina komputer program tersimpan menggunakan kod binari
- IBM (1953): Mengeluarkan IBM 701, salah satu komputer binari komersial yang pertama berjaya
- ASCII (1963): Menstandardkan representasi binari untuk watak dan simbol
- Pengkomputeran Moden: Semua komputer digital pada asasnya beroperasi menggunakan binari, walaupun abstraksi tahap yang lebih tinggi menyembunyikan ini daripada kebanyakan pengguna
Contoh Kod untuk Penukaran Binari-Dekat
Berikut adalah pelaksanaan penukaran binari-dekat dalam pelbagai bahasa pengaturcaraan:
JavaScript
1// Penukaran Binari kepada Dekat
2function binaryToDecimal(binary) {
3 if (!/^[01]+$/.test(binary)) {
4 return "Nombor binari tidak sah";
5 }
6 return parseInt(binary, 2);
7}
8
9// Penukaran Dekat kepada Binari
10function decimalToBinary(decimal) {
11 if (!/^\d+$/.test(decimal) || decimal < 0) {
12 return "Nombor dekat tidak sah";
13 }
14 return Number(decimal).toString(2);
15}
16
17// Contoh penggunaan
18console.log(binaryToDecimal("1010")); // Mengeluarkan: 10
19console.log(decimalToBinary("42")); // Mengeluarkan: 101010
20
Python
1# Penukaran Binari kepada Dekat
2def binary_to_decimal(binary):
3 try:
4 # Periksa jika input hanya mengandungi 0 dan 1
5 if not all(bit in '01' for bit in binary):
6 return "Nombor binari tidak sah"
7 return int(binary, 2)
8 except ValueError:
9 return "Nombor binari tidak sah"
10
11# Penukaran Dekat kepada Binari
12def decimal_to_binary(decimal):
13 try:
14 # Periksa jika input adalah integer bukan negatif
15 decimal = int(decimal)
16 if decimal < 0:
17 return "Nombor dekat tidak sah"
18 return bin(decimal)[2:] # Buang awalan '0b'
19 except ValueError:
20 return "Nombor dekat tidak sah"
21
22# Contoh penggunaan
23print(binary_to_decimal("1010")) # Mengeluarkan: 10
24print(decimal_to_binary("42")) # Mengeluarkan: 101010
25
Java
1public class BinaryDecimalConverter {
2 // Penukaran Binari kepada Dekat
3 public static int binaryToDecimal(String binary) {
4 if (!binary.matches("[01]+")) {
5 throw new IllegalArgumentException("Nombor binari tidak sah");
6 }
7 return Integer.parseInt(binary, 2);
8 }
9
10 // Penukaran Dekat kepada Binari
11 public static String decimalToBinary(int decimal) {
12 if (decimal < 0) {
13 throw new IllegalArgumentException("Nombor negatif tidak disokong");
14 }
15 return Integer.toBinaryString(decimal);
16 }
17
18 public static void main(String[] args) {
19 System.out.println(binaryToDecimal("1010")); // Mengeluarkan: 10
20 System.out.println(decimalToBinary(42)); // Mengeluarkan: 101010
21 }
22}
23
C++
1#include <iostream>
2#include <string>
3#include <cmath>
4#include <regex>
5
6// Penukaran Binari kepada Dekat
7int binaryToDecimal(const std::string& binary) {
8 // Periksa jika input hanya mengandungi 0 dan 1
9 if (!std::regex_match(binary, std::regex("[01]+"))) {
10 throw std::invalid_argument("Nombor binari tidak sah");
11 }
12
13 int decimal = 0;
14 for (int i = 0; i < binary.length(); i++) {
15 if (binary[binary.length() - 1 - i] == '1') {
16 decimal += std::pow(2, i);
17 }
18 }
19 return decimal;
20}
21
22// Penukaran Dekat kepada Binari
23std::string decimalToBinary(int decimal) {
24 if (decimal < 0) {
25 throw std::invalid_argument("Nombor negatif tidak disokong");
26 }
27
28 if (decimal == 0) {
29 return "0";
30 }
31
32 std::string binary = "";
33 while (decimal > 0) {
34 binary = (decimal % 2 == 0 ? "0" : "1") + binary;
35 decimal /= 2;
36 }
37 return binary;
38}
39
40int main() {
41 std::cout << binaryToDecimal("1010") << std::endl; // Mengeluarkan: 10
42 std::cout << decimalToBinary(42) << std::endl; // Mengeluarkan: 101010
43 return 0;
44}
45
Excel
1' Penukaran Binari kepada Dekat
2Function BinaryToDecimal(binary As String) As Variant
3 ' Periksa jika input hanya mengandungi 0 dan 1
4 Dim i As Integer
5 For i = 1 To Len(binary)
6 If Mid(binary, i, 1) <> "0" And Mid(binary, i, 1) <> "1" Then
7 BinaryToDecimal = CVErr(xlErrValue)
8 Exit Function
9 End If
10 Next i
11
12 BinaryToDecimal = Application.WorksheetFunction.Bin2Dec(binary)
13End Function
14
15' Penukaran Dekat kepada Binari
16Function DecimalToBinary(decimal As Long) As String
17 If decimal < 0 Then
18 DecimalToBinary = CVErr(xlErrValue)
19 Exit Function
20 End If
21
22 DecimalToBinary = Application.WorksheetFunction.Dec2Bin(decimal)
23End Function
24
25' Contoh penggunaan dalam sel:
26' =BinaryToDecimal("1010") ' Mengembalikan: 10
27' =DecimalToBinary(42) ' Mengembalikan: 101010
28
Soalan Lazim
Apakah nombor binari?
Nombor binari adalah nombor yang dinyatakan dalam sistem nombor asas-2, yang menggunakan hanya dua simbol: biasanya "0" dan "1". Setiap digit dipanggil bit (digit binari). Nombor binari adalah asas kepada pengkomputeran digital kerana semua data dalam komputer pada akhirnya diwakili dalam bentuk binari.
Mengapa komputer menggunakan binari dan bukan dekat?
Komputer menggunakan binari kerana komponen elektronik boleh dengan mudah mewakili dua keadaan: hidup/mati, voltan tinggi/rendah, atau polariti magnet. Binari juga secara matematik lebih mudah untuk dilaksanakan dalam perkakasan, menjadikan komputer lebih boleh dipercayai dan berkesan. Selain itu, logik Boolean (AND, OR, NOT) dipetakan dengan sempurna kepada operasi binari.
Bagaimana saya menukar nombor binari kepada dekat secara manual?
Untuk menukar nombor binari kepada dekat secara manual:
- Tulis nombor binari
- Tetapkan berat kepada setiap kedudukan (dari kanan ke kiri: 1, 2, 4, 8, 16, dll.)
- Darabkan setiap digit binari dengan beratnya
- Jumlahkan semua hasil
Sebagai contoh, binari 1101: 1×8 + 1×4 + 0×2 + 1×1 = 8 + 4 + 0 + 1 = 13
Bagaimana saya menukar nombor dekat kepada binari secara manual?
Untuk menukar nombor dekat kepada binari secara manual:
- Bahagikan nombor dekat dengan 2
- Tulis baki (0 atau 1)
- Bahagikan hasil bahagi dengan 2
- Ulang sehingga hasil bahagi menjadi 0
- Baca baki dari bawah ke atas
Sebagai contoh, dekat 13: 13 ÷ 2 = 6 baki 1 6 ÷ 2 = 3 baki 0 3 ÷ 2 = 1 baki 1 1 ÷ 2 = 0 baki 1 Membaca dari bawah ke atas: 1101
Bolehkah penukar ini mengendalikan nombor negatif?
Pelaksanaan kami yang sedia ada memberi tumpuan kepada integer bukan negatif untuk kesederhanaan dan tujuan pendidikan. Nombor negatif dalam binari biasanya menggunakan teknik seperti magnitud bertanda, komplement satu, atau komplement dua, yang merupakan konsep yang lebih maju.
Apakah nombor terbesar yang boleh saya tukar dengan alat ini?
Penukar ini boleh mengendalikan integer sehingga had integer selamat JavaScript (2^53 - 1), yang merupakan 9,007,199,254,740,991. Untuk input binari, ini bermakna sehingga 53 bit. Untuk nombor yang sangat besar, perpustakaan khusus akan diperlukan.
Bagaimana pecahan dekat diwakili dalam binari?
Pecahan dekat diwakili dalam binari menggunakan pecahan binari. Sebagai contoh, 0.5 dekat adalah 0.1 binari (1×2^-1). Prosesnya melibatkan mendarabkan bahagian pecahan dengan 2 dan merekodkan bahagian integer sehingga anda mencapai 0 atau mula mengulang. Penukar kami yang sedia ada memberi tumpuan kepada integer sahaja.
Apakah kesalahan biasa ketika menukar antara binari dan dekat?
Kesalahan biasa termasuk:
- Melupakan nilai posisi (kuasa 2)
- Mengira posisi dengan salah (terutamanya dalam nombor yang lebih panjang)
- Mengelirukan binari dengan sistem nombor lain
- Kesalahan dalam membawa atau meminjam semasa penukaran manual
- Tidak membaca digit binari dari kanan ke kiri semasa mengira nilai dekat
Bagaimana binari digunakan dalam pengalamatan memori komputer?
Memori komputer diatur sebagai urutan lokasi yang boleh alamat. Setiap lokasi mempunyai alamat unik, yang pada dasarnya adalah nombor. Alamat ini diwakili dalam binari dalam litar komputer. Apabila program perlu mengakses memori, ia menyatakan alamat binari lokasi yang dikehendaki.
Apakah perbezaan antara binari, oktal, dan heksadesimal?
- Binari (asas-2): Menggunakan 2 digit (0-1)
- Oktal (asas-8): Menggunakan 8 digit (0-7)
- Heksadesimal (asas-16): Menggunakan 16 digit (0-9, A-F)
Ketiga-tiga adalah sistem nombor berposisi tetapi dengan asas yang berbeza. Heksadesimal dan oktal sering digunakan sebagai cara yang lebih padat untuk mewakili data binari, dengan setiap digit heksadesimal mewakili 4 digit binari dan setiap digit oktal mewakili 3 digit binari.
Rujukan
-
Knuth, Donald E. "The Art of Computer Programming, Volume 2: Seminumerical Algorithms." Addison-Wesley, 1997.
-
Leibniz, Gottfried Wilhelm. "Explication de l'Arithmétique Binaire" (Penjelasan Aritmetik Binari). Mémoires de l'Académie Royale des Sciences, 1703.
-
Boole, George. "An Investigation of the Laws of Thought." Dover Publications, 1854 (diterbitkan semula 1958).
-
Shannon, Claude E. "A Symbolic Analysis of Relay and Switching Circuits." Transactions of the American Institute of Electrical Engineers, vol. 57, no. 12, 1938, pp. 713-723.
-
Ifrah, Georges. "The Universal History of Numbers: From Prehistory to the Invention of the Computer." Wiley, 2000.
-
"Nombor Binari." Wikipedia, Yayasan Wikimedia, https://en.wikipedia.org/wiki/Binary_number. Diakses 15 Ogos 2023.
-
"Dekat." Wikipedia, Yayasan Wikimedia, https://en.wikipedia.org/wiki/Decimal. Diakses 15 Ogos 2023.
-
"Penukaran Sistem Nombor." Institut Standard dan Teknologi Kebangsaan, https://www.nist.gov/dads/HTML/numbersysconv.html. Diakses 15 Ogos 2023.
Cuba Penukar Binari-Dekat kami sekarang untuk menukar antara sistem nombor binari dan dekat dengan cepat dan tepat. Sama ada anda belajar sains komputer, bekerja pada projek elektronik digital, atau hanya ingin tahu tentang bagaimana komputer mewakili nombor, alat kami menjadikan proses penukaran mudah dan pendidikan.
Maklum Balas
Klik toast maklum balas untuk mula memberi maklum balas tentang alat ini
Alat Berkaitan
Temui lebih banyak alat yang mungkin berguna untuk aliran kerja anda