Billy_Bekia Δημοσ. 20 Οκτωβρίου 2017 Δημοσ. 20 Οκτωβρίου 2017 Πως μπορουμε να μετατρεψουμε εναν αριθμό από βάση α σε βάση β? Μπορει καποιος να με βοηθησει και να μου πει εναν αλγοριθμο για την c++? Οι βασεις α και β μπορει να ειναι ειτε η 2 ειτε η 8 ειτε η 10 ειτε η 16. Ευχαριστω!
deafman Δημοσ. 20 Οκτωβρίου 2017 Δημοσ. 20 Οκτωβρίου 2017 Το μόνο που μπορώ να πώ ειναι οτι σίγουρα ρωτάς σε λάθος σημείο του φορουμ και δε το λέω για σπάσιμο απλά παίζει να έχει λιγότερες πιθανότητες να πάρεις απάντηση. Πόσταρε και στην κατηγορία "Προγραμματισμός". On the subject ξέρω οτι υπάρχουν έτοιμα scriptakia για μετατροπή απο 10δικό σε 2δικό, το αντίστοφο κλπ οπότε δες σε τέτοιες βιβλιοθήκες ή πάρε ένα τέτοιο κώδικα και προσαρμωσέ τον (αν είναι εφικτό).
Λύση GReaperEx Δημοσ. 20 Οκτωβρίου 2017 Λύση Δημοσ. 20 Οκτωβρίου 2017 Ουσιαστικά, το μόνο που χρειάζεται να κάνεις είναι να μετατρέψεις τη βάση "α" σε δυαδικό( το μόνο που καταλαβαίνει το PC ) και μετά από δυαδικό στη βάση "β". Για το πρώτο μέρος, γνωρίζοντας με ποιες τιμές συσχετίζονται τα πιθανά ψηφία της "α" βάσης, κάνεις αυτό στο περίπου: Έστω Α ο αριθμός Ζ <- 0 Για κάθε ψηφίο του Α, από αριστερά προς δεξιά: Ζ <- Ζ * (αριθμός βάσης) Ζ <- Ζ + (τιμή τρέχοντος ψηφίου) Για το δεύτερο μέρος, βρίσκεις το υπόλοιπο του αριθμού με τη βάση που θες, και το μετατρέπεις στο ανάλογο ψηφίο, αλλά να ξέρεις ότι αυτή η τεχνική σου δίνει τα ψηφία ανάποδα: Επανάλαβε Επόμενο ψηφίο <- μετατροπή(Ζ mod (αριθμός βάσης)) Ζ <- Ζ div (αριθμός βάσης) Όσο Ζ <> 0
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα