Πώς να μετατρέψετε δυαδικούς αριθμούς σε δεκαδικούς στο C

Pos Na Metatrepsete Dyadikous Arithmous Se Dekadikous Sto C



Οι δυαδικοί αριθμοί είναι συνδυασμοί 0 και 1, ενώ οι δεκαδικοί αριθμοί είναι βασικοί αριθμοί 10. Στον προγραμματισμό C, μετατρέπουμε τους δυαδικούς αριθμούς σε δεκαδικούς αριθμούς για να βελτιώσουμε την απόδοση του κώδικα και να τον κάνουμε πιο κατανοητό από τους μαθητές.

Αυτή η οδηγία θα εξετάσει τον τρόπο μετατροπής δυαδικών αριθμών σε δεκαδικούς αριθμούς στο C.

Πριν μπούμε στην ίδια την έννοια, ας δούμε τι είναι οι δυαδικοί και οι δεκαδικοί αριθμοί στο C.







Μορφές δυαδικών και δεκαδικών αριθμών σε C

Οι δυαδικοί αριθμοί είναι αριθμοί που αντιπροσωπεύονται με τη μορφή ενός συνδυασμού δύο ψηφίων 0 και 1 και αναφέρονται ως το βασικό 2 αριθμητικό σύστημα. Οι δεκαδικοί αριθμοί, από την άλλη πλευρά, είναι αριθμοί βάσης 10 που αποτελούνται από ψηφία που κυμαίνονται από το 0 έως το 9.



Όπως βλέπετε από το όνομα δυαδικό που σημαίνει δύο, οπότε όταν έχουμε αριθμούς με τη μορφή συνδυασμού δύο ψηφίων 0 και 1, τους ονομάζουμε δυαδικούς αριθμούς. αναφέρεται ως το βασικό 2 αριθμητικό σύστημα.



Γιατί να μετατρέψετε τους δυαδικούς αριθμούς σε δεκαδικούς στο C

Η εργασία με δυαδικούς αριθμούς είναι πρόκληση για τους προγραμματιστές λόγω των πολλών δυνατών συνδυασμών 0 και 1. Οι δεκαδικοί αριθμοί, από την άλλη πλευρά, είναι πιο εύκολο να κατανοηθούν και να επεξεργαστούν, καθιστώντας τους μια πιο γρήγορη και αποτελεσματική μέθοδο για προγράμματα C. Η μετατροπή δυαδικών αριθμών σε δεκαδικούς αριθμούς στο C περιλαμβάνει τον πολλαπλασιασμό όλων των δυαδικών ψηφίων με την κατάλληλη ισχύ του δύο και την προσθήκη των αποτελεσμάτων, η οποία γίνεται χρησιμοποιώντας βρόχους.





Ένας απλός αλγόριθμος για τη μετατροπή δυαδικού σε δεκαδικό σε C

Ακολουθεί ένας απλός αλγόριθμος για τη μετατροπή του δυαδικού σε δεκαδικό σε C χρησιμοποιώντας έξι απλά βήματα:

  • Πάρτε έναν δυαδικό αριθμό ως είσοδο από τον χρήστη.
  • Αρχικοποιήστε μια μεταβλητή «δεκαδικό» στο 0 και μια μεταβλητή «βάση» στο 1.
  • Εξάγετε το δεξιότερο ψηφίο του δυαδικού αριθμού χρησιμοποιώντας τον τελεστή συντελεστή (%) και προσθέστε το γινόμενο αυτού του ψηφίου και της βάσης στη δεκαδική μεταβλητή.
  • Πολλαπλασιάστε τη βασική μεταβλητή επί 2.
  • Αφαιρέστε το δεξιότερο ψηφίο από τον δυαδικό αριθμό χρησιμοποιώντας διαίρεση ακέραιου αριθμού (/).
  • Επαναλάβετε τα βήματα 3-5 μέχρι να επεξεργαστούν όλα τα ψηφία.
  • Εμφανίστε τη δεκαδική τιμή του δυαδικού αριθμού που είναι αποθηκευμένος στη μεταβλητή «δεκαδικός».

Μετατρέψτε δυαδικούς αριθμούς σε δεκαδικούς σε C

Ακολουθεί ένας απλός κώδικας για τη μετατροπή δυαδικών αριθμών σε δεκαδικούς στον προγραμματισμό C.



#include

#include

ενθ κύριος ( ) {

μακρύς μακρύς ένα ;

printf ( 'Παρακαλώ εισάγετε έναν δυαδικό αριθμό: ' ) ;

scanf ( '%lld' , & ένα ) ;

printf ( '%lld σε δυαδικό = %d σε μορφή δεκαδικού' , ένα , binaryToDecimal ( ένα ) ) ;

ΕΠΙΣΤΡΟΦΗ 0 ; }

ενθ binaryToDecimal ( μακρύς μακρύς ένα ) {

ενθ Δεκ = 0 , σι = 0 , r ;

ενώ ( ένα != 0 ) {

r = ένα % 10 ;

ένα /= 10 ;

Δεκ += r * pow ( 2 , σι ) ;

++ σι ;

}

ΕΠΙΣΤΡΟΦΗ Δεκ ;

}

Στον παραπάνω κώδικα, γίνεται μια καθολική συνάρτηση ως όνομα 'δυαδικό σε δεκαδικό' . Στη συνέχεια, στην κύρια, δηλώνουμε μια μεγάλη μεγάλη μεταβλητή ως 'ένα' και ζητήστε από τον χρήστη να προσθέσει έναν δυαδικό αριθμό και να τον μετατρέψει σε δεκαδικό καλώντας το 'δυαδικό σε δεκαδικό' συνάρτηση με παράμετρο a”. Στο 'δυαδικό σε δεκαδικό' ορισμός συνάρτησης μια δεκαδική μετατροπή μέσω του βρόχου while.

Παραγωγή

Μπορείτε επίσης να χρησιμοποιήσετε ένα ενσωματωμένο strtol() λειτουργία μετατροπής δυαδικών αριθμών σε δεκαδικούς στον προγραμματισμό C.

Ο παρακάτω είναι ο κώδικας για μια τέτοια λειτουργία:

#include

#include

ενθ κύριος ( ) {

απανθρακώνω δυαδική_συμβολοσειρά [ ] = '1110' ;

απανθρακώνω * πτρ ;

μακρύς δεκαδική_τιμή ;

δεκαδική_τιμή = συνετρίβη ( δυαδική_συμβολοσειρά , & πτρ , 2 ) ;

printf ( 'Δυαδική συμβολοσειρά' % μικρό ' ισούται με την δεκαδική τιμή %ld. \n ' , δυαδική_συμβολοσειρά , δεκαδική_τιμή ) ;

ΕΠΙΣΤΡΟΦΗ 0 ;

}

Ο παραπάνω κώδικας μετατρέπει μια δυαδική συμβολοσειρά “1110” στην ισοδύναμη δεκαδική του τιμή χρησιμοποιώντας το strtol() συνάρτηση, η οποία παίρνει τη δυαδική συμβολοσειρά, έναν δείκτη σε έναν δείκτη χαρακτήρων και τη βάση του συστήματος αριθμών ως ορίσματα. Τέλος, εκτυπώνει το αποτέλεσμα στην κονσόλα χρησιμοποιώντας printf().

Παραγωγή

συμπέρασμα

Όπως γνωρίζουμε οι άνθρωποι είναι εξοικειωμένοι με τους δεκαδικούς αριθμούς σε σύγκριση με τους δυαδικούς καθώς είναι δύσκολο να διαχειρίζονται. Τα δεκαδικά ψηφία είναι εύκολο να εκτελέσουν αριθμητικές πράξεις καθώς βρίσκονται στη βάση 10 και η επεξεργασία τους είναι ταχύτερη σε σύγκριση με τα δυαδικά ψηφία, επομένως, οι δυαδικοί αριθμοί μετατρέπονται σε δεκαδικούς. Η παραπάνω επισκόπηση έχει εξηγήσει τη μετατροπή δυαδικών αριθμών σε δεκαδικά με το πρόγραμμα C με συναρτήσεις που καθορίζονται από το χρήστη και ενσωματωμένο strtol() λειτουργία.