Πώς να χρησιμοποιήσετε το bc ως υπολογιστής Hex



Δοκιμάστε Το Όργανο Μας Για Την Εξάλειψη Των Προβλημάτων

Διάφορες υλοποιήσεις λειτουργικού συστήματος που μοιάζουν με Unix όπως το Linux και σχεδόν οτιδήποτε έχει τη σουίτα GNU περιλαμβάνει τη βασική γλώσσα αριθμομηχανής bc. Η σύνταξή του μοιάζει πολύ με τη γλώσσα προγραμματισμού C. Μπορείτε να το χρησιμοποιήσετε ως εξάγωνη αριθμομηχανή απευθείας από τη γραμμή εντολών, επομένως δεν θα χρειαστεί να κατεβάσετε ξανά κάποια δεκαεξαδική ή οκταδική εφαρμογή για το τηλέφωνό σας.



Αυτά είναι υπέροχα νέα για προγραμματιστές και όσους εργάζονται σε κάποια εργασία στο σπίτι. Ωστόσο, θα πρέπει να ανοίξετε ένα τερματικό. Κρατήστε πατημένα τα πλήκτρα Ctrl, Alt και T ή αναζητήστε το τερματικό λέξεων στο Ubuntu Unity Dash. Ίσως θελήσετε να το ξεκινήσετε από το μενού Whisker ή Applications στο System Tools. Οι χρήστες του macOS μπορούν να ξεκινήσουν ένα τερματικό από το φάκελο Utilities ή κάνοντας κλικ στην αποβάθρα εάν είναι καρφιτσωμένο. Μπορείτε να βρείτε bc στα περισσότερα λειτουργικά συστήματα που μοιάζουν με Unix αυτές τις μέρες και όχι μόνο στο Linux.



Μέθοδος 1: Χρήση bc για μετατροπή δεκαδικών και δεκαεξαδικών αριθμών

Τύπος echo ‘obase = 16, 127’ | προ ΧΡΙΣΤΟΥ για να μετατρέψετε τον αριθμό 127 σε δεκαεξαδικό από τους κανονικούς αριθμούς βάσης-10. Φυσικά, μπορείτε να το αντικαταστήσετε με οποιοδήποτε ακέραιο αριθμό. Το αποτέλεσμα που θα λάβετε είναι 7F και αν θέλετε να μετατρέψετε σε κανονική βάση-10, μπορείτε να πληκτρολογήσετε echo ‘ibase = 16; obase = A; 7F’ | προ ΧΡΙΣΤΟΥ και πιέστε enter. Είναι τόσο απλό και μπορεί να χρησιμοποιηθεί ανά πάσα στιγμή με οποιονδήποτε έγκυρο αριθμό δεκαεξαδικού. Δεδομένου ότι είναι μια έγκυρη εντολή τύπου Unix, θα μπορούσατε επίσης να την ενσωματώσετε σε οποιονδήποτε τύπο σεναρίου κελύφους. Είναι εύκολο να θυμάστε ότι μπορείτε να το χρησιμοποιήσετε από τη γραμμή εντολών ανά πάσα στιγμή που θέλετε να μετατρέψετε έναν αριθμό εμπρός και πίσω γρήγορα.



Μέθοδος 2: Μετατροπή δυαδικών και δεκαεξαδικών αριθμών με τον υπολογισμό Hex bc

Στη γραμμή εντολών πληκτρολογήστε echo «obase = 16; ibase = 2; 111010001» | προ ΧΡΙΣΤΟΥ για να μετατρέψετε έναν δυαδικό αριθμό σε δεκαεξαδικό. Πιέστε enter και θα λάβετε 1D1 ως απάντηση. Φυσικά, μπορείτε να συμπληρώσετε αυτήν τη δυαδική γραμμή με οποιονδήποτε δυαδικό αριθμό που χρειάζεστε μετατροπή εκείνη τη στιγμή. Και πάλι, το αντίστροφο ισχύει και είναι δυνατό να χρησιμοποιήσετε την αριθμητική αριθμομηχανή για να μετατρέψετε έναν δεκαεξαδικό αριθμό σε δυαδικό. Πληκτρολόγηση echo ‘obase = 2; ibase = 16; 1D1’ | προ ΧΡΙΣΤΟΥ και πιέζοντας enter θα πάρετε πίσω τον αρχικό σας αριθμό, αλλά μπορείτε να αντικαταστήσετε το 1D1 με άλλες έγκυρες δεκαεξαδικές τιμές.



Εάν το χρησιμοποιείτε συχνά, τότε θα πρέπει να έχετε υπόψη σας δύο σημεία. Το ένα είναι ότι τα γράμματα που είναι εγγενή σε δεκαεξαδικούς αριθμούς πρέπει πάντα να είναι κεφαλαία, επειδή το λογισμικό bc αντιμετωπίζει πεζά γράμματα ως αλγεβρικές μεταβλητές. Το δεύτερο είναι ότι όλες αυτές οι εντολές μπορούν να εκτελεστούν από έναν κανονικό χρήστη και δεν χρειάζεστε πρόσβαση root για να τις κάνετε σε οποιαδήποτε σύγχρονη έκδοση του Linux ή του Unix.

Μέθοδος 3: Χρήση bc ως υπολογιστής πλήρους δεκαεξαδικού

Μπορείτε επίσης να χρησιμοποιήσετε την εντολή bc ως εξάγωνη αριθμομηχανή για να εκτελέσετε αριθμητική αν χρειαστεί. Οι περισσότεροι άνθρωποι δεν θα έχουν αυτήν την ανάγκη, αλλά όσοι είναι προγραμματιστές ίσως χρειαστεί να καταλάβουν τις διαφορές μεταξύ δύο διαφορετικών τοποθεσιών στη μνήμη. Αυτή είναι επίσης μια πολύ συνηθισμένη ερώτηση από εκείνους που κάνουν την εργασία της επιστήμης των υπολογιστών για το λύκειο και το κολέγιο!

Ας υποθέσουμε ότι είχατε έναν δεκαεξαδικό αριθμό που είναι EE65522D και θέλετε να αφαιρέσετε το C3EFAF86 από αυτόν. Θα μπορούσατε να πληκτρολογήσετε echo ‘ibase = 16; EE65522D-C3EFAF86’ | προ ΧΡΙΣΤΟΥ και πιέστε enter για να βρείτε την απάντηση. Εάν προτιμάτε η απάντηση να είναι δεκαεξαδική, τότε μπορείτε να δοκιμάσετε echo ‘obase = 16; ibase = 16; EE65522D-C3EFAF86’ | προ ΧΡΙΣΤΟΥ να το λύσει με αυτόν τον τρόπο. Επιτρέπονται και άλλες αριθμητικές πράξεις. Για παράδειγμα, echo ‘obase = 16; ibase = 16; EE65522D * C3EFAF86’ | προ ΧΡΙΣΤΟΥ θα πολλαπλασιάσει τις δύο τιμές. Φυσικά θα μπορούσατε να χρησιμοποιήσετε το + ως τελεστή για επιπλέον αν θέλετε. Η χρήση / για διαίρεση δεν επιστρέφει ένα υπόλοιπο. θα πρέπει να χρησιμοποιήσετε το% για συντελεστή για να το κάνετε αυτό.

Για παράδειγμα, εκτελείται ηχώ «obase = 16; ibase = 16; EE65522D% C3EFAF86» | Το bc επιστρέφει μια τιμή 2A75A2A7, επειδή το πηλίκο αυτής της εξίσωσης είναι 1 υπόλοιπο 2A75A2A7 όταν εκτελείται μέσω μιας εξάγωνης αριθμομηχανής. Εκτελέστε πρώτα το / operand και μετά το% operand για να βρείτε και τις δύο τιμές.

Διαβάστε 3 λεπτά