Εύκολα μετατρέψτε αριθμούς μεταξύ δυαδικού και δεκαδικού συστήματος με αυτό το δωρεάν διαδικτυακό εργαλείο. Άμεση μετατροπή με εκπαιδευτική οπτικοποίηση.
Μετατρέψτε άμεσα μεταξύ των δυαδικών και δεκαδικών αριθμητικών συστημάτων.
Οι δυαδικοί αριθμοί χρησιμοποιούν μόνο 0 και 1
Οι δεκαδικοί αριθμοί χρησιμοποιούν ψηφία 0-9
Εισάγετε μια τιμή σε οποιοδήποτε πεδίο για να δείτε τη μετατροπή στο άλλο πεδίο.
Ο Μετατροπέας Δυαδικού-Δεκαδικού είναι ένα βασικό εργαλείο για οποιονδήποτε εργάζεται με διαφορετικά συστήματα αριθμών. Το δυαδικό (βάση-2) και το δεκαδικό (βάση-10) είναι δύο θεμελιώδη αριθμητικά συστήματα που χρησιμοποιούνται στην πληροφορική και τα μαθηματικά. Ο μετατροπέας μας από δυαδικό σε δεκαδικό σας επιτρέπει να μεταφράζετε άμεσα αριθμούς μεταξύ αυτών των συστημάτων με απόλυτη ακρίβεια. Είτε είστε φοιτητής πληροφορικής που μαθαίνει για την δυαδική αναπαράσταση, είτε προγραμματιστής που αποσφαλματώνει κώδικα, είτε ενθουσιώδης ηλεκτρονικών που εργάζεται με ψηφιακά κυκλώματα, αυτός ο μετατροπέας απλοποιεί τη διαδικασία μετατροπής μεταξύ των μορφών αριθμών δυαδικού και δεκαδικού χωρίς να απαιτούνται περίπλοκοι χειροκίνητοι υπολογισμοί.
Οι δυαδικοί αριθμοί, που αποτελούνται μόνο από 0 και 1, σχηματίζουν τη βάση όλων των ψηφιακών υπολογιστικών συστημάτων, ενώ το δεκαδικό σύστημα με ψηφία 0-9 είναι αυτό που χρησιμοποιούμε στην καθημερινή ζωή. Η κατανόηση της σχέσης μεταξύ αυτών των συστημάτων είναι κρίσιμη για οποιονδήποτε ασχολείται με την πληροφορική, τον προγραμματισμό ή την ψηφιακή ηλεκτρονική. Αυτό το εργαλείο γεφυρώνει το χάσμα μεταξύ αυτών των αριθμητικών συστημάτων, καθιστώντας τις μετατροπές εύκολες και χωρίς λάθη.
Το δεκαδικό σύστημα είναι το τυπικό μας αριθμητικό σύστημα, χρησιμοποιώντας 10 ψηφία (0-9). Σε αυτό το θέσης αριθμητικό σύστημα, η θέση κάθε ψηφίου αντιπροσωπεύει μια δύναμη του 10:
Για παράδειγμα, ο δεκαδικός αριθμός 427 αντιπροσωπεύει:
Προσθέτοντας αυτές τις τιμές: 400 + 20 + 7 = 427
Το δυαδικό σύστημα χρησιμοποιεί μόνο δύο ψηφία (0 και 1). Κάθε θέση σε έναν δυαδικό αριθμό αντιπροσωπεύει μια δύναμη του 2:
Για παράδειγμα, ο δυαδικός αριθμός 1010 αντιπροσωπεύει:
Προσθέτοντας αυτές τις τιμές: 8 + 0 + 2 + 0 = 10 σε δεκαδικό
Για να μετατρέψετε έναν δυαδικό αριθμό σε δεκαδικό, πολλαπλασιάστε κάθε ψηφίο με την αντίστοιχη δύναμη του 2 και προσθέστε τα αποτελέσματα:
Όπου:
Παράδειγμα: Μετατροπή του δυαδικού 1101 σε δεκαδικό
Για να μετατρέψετε έναν δεκαδικό αριθμό σε δυαδικό, διαιρέστε επανειλημμένα τον αριθμό με το 2 και καταγράψτε τα υπόλοιπα αντίστροφα:
Παράδειγμα: Μετατροπή του δεκαδικού 25 σε δυαδικό
Ο μετατροπέας μας δυαδικού-δεκαδικού έχει σχεδιαστεί για να είναι διαισθητικός και φιλικός προς τον χρήστη. Ακολουθήστε αυτά τα απλά βήματα για να μετατρέψετε μεταξύ δυαδικών και δεκαδικών αριθμών:
Ο μετατροπέας παρέχει επίσης μια οπτική εξήγηση της διαδικασίας μετατροπής, δείχνοντάς σας ακριβώς πώς πραγματοποιείται κάθε μετατροπή μαθηματικά. Αυτή η εκπαιδευτική δυνατότητα σας βοηθά να κατανοήσετε τις υποκείμενες αρχές των μετατροπών συστήματος αριθμών.
Η μετατροπή δυαδικού-δεκαδικού είναι θεμελιώδης σε πολλούς τομείς και εφαρμογές:
Μια διεύθυνση IPv4 όπως 192.168.1.1 μπορεί να αναπαρασταθεί σε δυαδικό ως:
Συνδυασμένο: 11000000.10101000.00000001.00000001
Ενώ το δυαδικό και το δεκαδικό είναι τα πιο συχνά χρησιμοποιούμενα αριθμητικά συστήματα, άλλα συστήματα έχουν σημαντικές εφαρμογές:
Το δεκαεξαδικό χρησιμοποιεί 16 ψηφία (0-9 και A-F) και συχνά χρησιμοποιείται ως μια πιο συμπαγής μέθοδος αναπαράστασης δυαδικών δεδομένων. Κάθε δεκαεξαδικό ψηφίο αντιπροσωπεύει ακριβώς 4 δυαδικά ψηφία.
Παράδειγμα: Δυαδικό 1010 1101 = Δεκαεξαδικό AD
Το οκταδικό χρησιμοποιεί 8 ψηφία (0-7) και ήταν ιστορικά σημαντικό στην υπολογιστική. Κάθε οκταδικό ψηφίο αντιπροσωπεύει ακριβώς 3 δυαδικά ψηφία.
Παράδειγμα: Δυαδικό 101 011 = Οκταδικό 53
Το BCD αναπαριστά κάθε δεκαδικό ψηφίο χρησιμοποιώντας έναν σταθερό αριθμό δυαδικών ψηφίων (συνήθως 4). Χρησιμοποιείται σε εφαρμογές όπου απαιτείται δεκαδική αναπαράσταση, όπως ψηφιακά ρολόγια.
Παράδειγμα: Δεκαδικό 42 σε BCD = 0100 0010
Το δεκαδικό σύστημα είναι το κυρίαρχο αριθμητικό σύστημα στην ανθρώπινη ιστορία, πιθανώς επειδή οι άνθρωποι έχουν δέκα δάχτυλα. Αποδείξεις για δεκαδικά συστήματα καταμέτρησης χρονολογούνται από αρχαίους πολιτισμούς:
Το δυαδικό σύστημα έχει μια πιο πρόσφατη αλλά εξίσου συναρπαστική ιστορία:
Ακολουθούν υλοποιήσεις της μετατροπής δυαδικού-δεκαδικού σε διάφορες γλώσσες προγραμματισμού:
1// Μετατροπή Δυαδικού σε Δεκαδικό
2function binaryToDecimal(binary) {
3 if (!/^[01]+$/.test(binary)) {
4 return "Μη έγκυρος δυαδικός αριθμός";
5 }
6 return parseInt(binary, 2);
7}
8
9// Μετατροπή Δεκαδικού σε Δυαδικό
10function decimalToBinary(decimal) {
11 if (!/^\d+$/.test(decimal) || decimal < 0) {
12 return "Μη έγκυρος δεκαδικός αριθμός";
13 }
14 return Number(decimal).toString(2);
15}
16
17// Παράδειγμα χρήσης
18console.log(binaryToDecimal("1010")); // Επιστρέφει: 10
19console.log(decimalToBinary("42")); // Επιστρέφει: 101010
20
1# Μετατροπή Δυαδικού σε Δεκαδικό
2def binary_to_decimal(binary):
3 try:
4 # Έλεγχος αν η είσοδος περιέχει μόνο 0 και 1
5 if not all(bit in '01' for bit in binary):
6 return "Μη έγκυρος δυαδικός αριθμός"
7 return int(binary, 2)
8 except ValueError:
9 return "Μη έγκυρος δυαδικός αριθμός"
10
11# Μετατροπή Δεκαδικού σε Δυαδικό
12def decimal_to_binary(decimal):
13 try:
14 # Έλεγχος αν η είσοδος είναι μη αρνητικός ακέραιος
15 decimal = int(decimal)
16 if decimal < 0:
17 return "Μη έγκυρος δεκαδικός αριθμός"
18 return bin(decimal)[2:] # Αφαιρέστε το πρόθεμα '0b'
19 except ValueError:
20 return "Μη έγκυρος δεκαδικός αριθμός"
21
22# Παράδειγμα χρήσης
23print(binary_to_decimal("1010")) # Επιστρέφει: 10
24print(decimal_to_binary("42")) # Επιστρέφει: 101010
25
1public class BinaryDecimalConverter {
2 // Μετατροπή Δυαδικού σε Δεκαδικό
3 public static int binaryToDecimal(String binary) {
4 if (!binary.matches("[01]+")) {
5 throw new IllegalArgumentException("Μη έγκυρος δυαδικός αριθμός");
6 }
7 return Integer.parseInt(binary, 2);
8 }
9
10 // Μετατροπή Δεκαδικού σε Δυαδικό
11 public static String decimalToBinary(int decimal) {
12 if (decimal < 0) {
13 throw new IllegalArgumentException("Δεν υποστηρίζονται αρνητικοί αριθμοί");
14 }
15 return Integer.toBinaryString(decimal);
16 }
17
18 public static void main(String[] args) {
19 System.out.println(binaryToDecimal("1010")); // Επιστρέφει: 10
20 System.out.println(decimalToBinary(42)); // Επιστρέφει: 101010
21 }
22}
23
1#include <iostream>
2#include <string>
3#include <cmath>
4#include <regex>
5
6// Μετατροπή Δυαδικού σε Δεκαδικό
7int binaryToDecimal(const std::string& binary) {
8 // Έλεγχος αν η είσοδος περιέχει μόνο 0 και 1
9 if (!std::regex_match(binary, std::regex("[01]+"))) {
10 throw std::invalid_argument("Μη έγκυρος δυαδικός αριθμός");
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// Μετατροπή Δεκαδικού σε Δυαδικό
23std::string decimalToBinary(int decimal) {
24 if (decimal < 0) {
25 throw std::invalid_argument("Δεν υποστηρίζονται αρνητικοί αριθμοί");
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; // Επιστρέφει: 10
42 std::cout << decimalToBinary(42) << std::endl; // Επιστρέφει: 101010
43 return 0;
44}
45
1' Μετατροπή Δυαδικού σε Δεκαδικό
2Function BinaryToDecimal(binary As String) As Variant
3 ' Έλεγχος αν η είσοδος περιέχει μόνο 0 και 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' Μετατροπή Δεκαδικού σε Δυαδικό
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' Παράδειγμα χρήσης σε ένα κελί:
26' =BinaryToDecimal("1010") ' Επιστρέφει: 10
27' =DecimalToBinary(42) ' Επιστρέφει: 101010
28
Ένας δυαδικός αριθμός είναι ένας αριθμός που εκφράζεται στο σύστημα αριθμών βάσης-2, το οποίο χρησιμοποιεί μόνο δύο σύμβολα: συνήθως "0" και "1". Κάθε ψηφίο αναφέρεται ως bit (δυαδικό ψηφίο). Οι δυαδικοί αριθμοί είναι θεμελιώδεις για την ψηφιακή υπολογιστική, καθώς όλα τα δεδομένα στους υπολογιστές αναπαρίστανται τελικά σε δυαδική μορφή.
Οι υπολογιστές χρησιμοποιούν δυαδικό γιατί τα ηλεκτρονικά στοιχεία μπορούν εύκολα να αναπαραστήσουν δύο καταστάσεις: ενεργό/ανενεργό, υψηλή/χαμηλή τάση ή μαγνητικές πολικότητες. Το δυαδικό είναι επίσης μαθηματικά απλούστερο να υλοποιηθεί σε υλικό, καθιστώντας τους υπολογιστές πιο αξιόπιστους και αποδοτικούς. Επιπλέον, η λογική Boole (AND, OR, NOT) ταιριάζει τέλεια με τις δυαδικές λειτουργίες.
Για να μετατρέψετε έναν δυαδικό αριθμό σε δεκαδικό χειροκίνητα:
Για παράδειγμα, δυαδικός 1101: 1×8 + 1×4 + 0×2 + 1×1 = 8 + 4 + 0 + 1 = 13
Για να μετατρέψετε έναν δεκαδικό αριθμό σε δυαδικό χειροκίνητα:
Για παράδειγμα, δεκαδικός 13: 13 ÷ 2 = 6 υπόλοιπο 1 6 ÷ 2 = 3 υπόλοιπο 0 3 ÷ 2 = 1 υπόλοιπο 1 1 ÷ 2 = 0 υπόλοιπο 1 Διαβάζοντας από κάτω προς τα πάνω: 1101
Η τρέχουσα υλοποίηση επικεντρώνεται σε μη αρνητικούς ακέραιους για απλότητα και εκπαιδευτικούς σκοπούς. Οι αρνητικοί αριθμοί σε δυαδικό συνήθως χρησιμοποιούν τεχνικές όπως η υπογραφή μεγέθους, η συμπλήρωση ενός ή η συμπλήρωση δύο, οι οποίες είναι πιο προχωρημένες έννοιες.
Ο μετατροπέας μπορεί να χειριστεί ακέραιους έως το ασφαλές όριο ακέραιου του JavaScript (2^53 - 1), το οποίο είναι 9,007,199,254,740,991. Για δυαδικές εισόδους, αυτό σημαίνει έως 53 bits. Για εξαιρετικά μεγάλους αριθμούς, θα απαιτούνταν εξειδικευμένες βιβλιοθήκες.
Οι δεκαδικές κλάσματα αναπαρίστανται σε δυαδικό χρησιμοποιώντας δυαδικές κλάσματα. Για παράδειγμα, 0.5 δεκαδικό είναι 0.1 δυαδικό (1×2^-1). Η διαδικασία περιλαμβάνει την πολλαπλασίαση της κλασματικής τιμής με το 2 και την καταγραφή του ακέραιου μέρους μέχρι να φτάσετε στο 0 ή να αρχίσετε να επαναλαμβάνεστε. Ο τρέχων μετατροπέας επικεντρώνεται μόνο σε ακέραιους.
Κοινά σφάλματα περιλαμβάνουν:
Η μνήμη υπολογιστή οργανώνεται ως μια ακολουθία διευθυνσιοδοτούμενων θέσεων. Κάθε θέση έχει μια μοναδική διεύθυνση, η οποία είναι ουσιαστικά ένας αριθμός. Αυτές οι διευθύνσεις αναπαρίστανται σε δυαδικό μέσα στην κυκλωματική διάταξη του υπολογιστή. Όταν ένα πρόγραμμα χρειάζεται να αποκτήσει πρόσβαση στη μνήμη, καθορίζει τη δυαδική διεύθυνση της επιθυμητής θέσης.
Όλα τρία είναι θέσης αριθμητικά συστήματα αλλά με διαφορετικές βάσεις. Το δεκαεξαδικό και το οκταδικό χρησιμοποιούνται συχνά ως πιο συμπαγείς τρόποι αναπαράστασης δυαδικών δεδομένων, με κάθε δεκαεξαδικό ψηφίο να αντιπροσωπεύει 4 δυαδικά ψηφία και κάθε οκταδικό ψηφίο να αντιπροσωπεύει 3 δυαδικά ψηφία.
Knuth, Donald E. "The Art of Computer Programming, Volume 2: Seminumerical Algorithms." Addison-Wesley, 1997.
Leibniz, Gottfried Wilhelm. "Explication de l'Arithmétique Binaire" (Εξήγηση της Δυαδικής Άριθμησης). Mémoires de l'Académie Royale des Sciences, 1703.
Boole, George. "An Investigation of the Laws of Thought." Dover Publications, 1854 (επανεκδοθεί 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.
"Binary Number." Wikipedia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Binary_number. Accessed 15 Aug. 2023.
"Decimal." Wikipedia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Decimal. Accessed 15 Aug. 2023.
"Number System Conversion." National Institute of Standards and Technology, https://www.nist.gov/dads/HTML/numbersysconv.html. Accessed 15 Aug. 2023.
Δοκιμάστε τον Μετατροπέα Δυαδικού-Δεκαδικού μας τώρα για να μετατρέψετε γρήγορα και με ακρίβεια μεταξύ των συστημάτων αριθμών δυαδικού και δεκαδικού. Είτε σπουδάζετε πληροφορική, εργάζεστε σε ψηφιακά ηλεκτρονικά έργα ή απλώς είστε περίεργοι για το πώς οι υπολογιστές αναπαριστούν αριθμούς, το εργαλείο μας καθιστά τη διαδικασία μετατροπής απλή και εκπαιδευτική.
Ανακαλύψτε περισσότερα εργαλεία που μπορεί να είναι χρήσιμα για τη ροή εργασίας σας