Tukar nombor antara sistem biner dan dekad dengan mudah menggunakan alat dalam talian percuma ini. Penukaran segera dengan visualisasi pendidikan.
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.
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.
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:
Menjumlahkan nilai ini: 400 + 20 + 7 = 427
Sistem binari menggunakan hanya dua digit (0 dan 1). Setiap kedudukan dalam nombor binari mewakili kuasa 2:
Sebagai contoh, nombor binari 1010 mewakili:
Menjumlahkan nilai ini: 8 + 0 + 2 + 0 = 10 dalam dekat
Untuk menukar nombor binari kepada dekat, darabkan setiap digit dengan kuasa 2 yang sepadan dan jumlahkan hasilnya:
Di mana:
Contoh: Menukar binari 1101 kepada dekat
Untuk menukar nombor dekat kepada binari, bahagikan nombor itu dengan 2 berulang kali dan rekodkan baki dalam urutan terbalik:
Contoh: Menukar dekat 25 kepada binari
Penukar binari-dekat kami direka untuk menjadi intuitif dan mesra pengguna. Ikuti langkah-langkah mudah ini untuk menukar antara nombor binari dan dekat:
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.
Penukaran binari-dekat adalah asas dalam pelbagai bidang dan aplikasi:
Alamat IPv4 seperti 192.168.1.1 boleh diwakili dalam binari sebagai:
Digabungkan: 11000000.10101000.00000001.00000001
Walaupun binari dan dekat adalah sistem nombor yang paling biasa digunakan, sistem lain mempunyai aplikasi penting:
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 menggunakan 8 digit (0-7) dan pernah penting dalam pengkomputeran. Setiap digit oktal mewakili tepat 3 digit binari.
Contoh: Binari 101 011 = Oktal 53
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
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:
Sistem binari mempunyai sejarah yang lebih baru tetapi sama menarik:
Berikut adalah pelaksanaan penukaran binari-dekat dalam pelbagai bahasa pengaturcaraan:
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
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
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
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
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
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.
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.
Untuk menukar nombor binari kepada dekat secara manual:
Sebagai contoh, binari 1101: 1×8 + 1×4 + 0×2 + 1×1 = 8 + 4 + 0 + 1 = 13
Untuk menukar nombor dekat kepada binari secara manual:
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
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.
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.
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.
Kesalahan biasa termasuk:
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.
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.
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.
Temui lebih banyak alat yang mungkin berguna untuk aliran kerja anda