tzo21 Δημοσ. 10 Μαρτίου 2017 Δημοσ. 10 Μαρτίου 2017 γεια σας, μολις ξεκινησα μαθηματα προγραμματισμου με python 2,7 και δεν ξερω ποιο ειναι το λαθος στο παρακατω κωδικα. η ασκηση ειναι: αν έχουμε a = '001' και b = '011', πώς θα βρούμε το a+b στο δυαδικό σύστημα; στη λυση πρωτα μετατρεπω και τους 2 αριθμους στο δεκαδικο και μετα βρισκω το a+b σαν αριθμο και τον μετετρεπω σε δυαδικο συστημα αλλα το αποτελεσμα ειναι διαφορετικο απο αυτο που επρεπε. ο κωδικας μαζι με τα αποτελεσματα : α='001' b='011' c=int(a,2) h=int(b,2) a+b '001011' k=001011 bin(k)[2:] '1000001001'
defacer Δημοσ. 10 Μαρτίου 2017 Δημοσ. 10 Μαρτίου 2017 Για ποιό λόγο είπαμε ότι θέτεις τιμές στα c και h? 1
nilosgr Δημοσ. 10 Μαρτίου 2017 Δημοσ. 10 Μαρτίου 2017 Οκ; a='001' b='011' a_int=int(a,2) b_int=int(b,2) sum_int=a+b sum_str=bin(sum_int) print sum_str
k33theod Δημοσ. 10 Μαρτίου 2017 Δημοσ. 10 Μαρτίου 2017 Μπορείς να προσθέσεις κατ' ευθείαν τους αριθμούς δεν χρειάζεται να τους κάνεις στο δεκαδικό για 2αδικούς πρόθεμα 0b για οκταδικούς και δεκαεξαδικούς αν θες 0o, 0x θα πάρεις αποτέλεσμα σε δεκαδικό το οποίο μετατρέπεις εύκολα σε δυαδικό με bin() Πρέπει όμως να δεις και αυτό που σου λέει ο defacer βασικά και τα πιο κάτω που γράφεις στον κώδικα
jimex Δημοσ. 10 Μαρτίου 2017 Δημοσ. 10 Μαρτίου 2017 Οκ; a='001' b='011' a_int=int(a,2) b_int=int(b,2) sum_int=a+b sum_str=bin(sum_int) print sum_str Really??????? Έκλαψα. :lol: Να πάει στα ανέκδοτα γρήγορα. 1
k33theod Δημοσ. 11 Μαρτίου 2017 Δημοσ. 11 Μαρτίου 2017 Really??????? Έκλαψα. :lol: Να πάει στα ανέκδοτα γρήγορα. Τι δεν σου άρεσε αρχηγέ;
k33theod Δημοσ. 11 Μαρτίου 2017 Δημοσ. 11 Μαρτίου 2017 tzo21 α='001' b='011' c=int(a,2) h=int(b,2) ώς εδώ είσε εντάξει αν εξαιρέσεις ότι χρησιμοποιείς ελληνικό χαρακτήρα για το a που μετά δεν το ξαναχρησιμοποιείς μετά πρέπει να χρησιμοποιήσεις τους ακέραιους για να πάρεις το άθροισμά σου δηλαδή c+h nilosgr κάνεις το ίδιο λάθος εναλλακτικά μπoρείς να κάνεις ανάθεση των ακεραίων στις ίδιες μεταβλητές δηλαδή a=int(a,2) b=int(b,2) οπότε τώρα κολλάει το a+b και μετά από τον ακέραιο c+h ή a+b μπορείς να πάρεις τον δυαδικό του δηλαδή bin(c+h) Τα υπόλοιπα που κάνεις είναι λάθος Ο σωστός όμως τρόπος για να προσθέσεις δυαδικούς είναι athroisma = 0b011+0b001 Το athroisma είναι ακέραιος και το μετατρέπεις σε δυαδικό με athroisma_bin=bin(athroisma)
tzo21 Δημοσ. 11 Μαρτίου 2017 Μέλος Δημοσ. 11 Μαρτίου 2017 guys κομπλε ειχα κανει και ταιραστιες χαζομαρες αλλα τις καταλαβα... thank you
jimex Δημοσ. 11 Μαρτίου 2017 Δημοσ. 11 Μαρτίου 2017 Τι δεν σου άρεσε αρχηγέ; Ότι ας πούμε το λάθος ήταν στο πως ονομάζονται οι μεταβλητές.
k33theod Δημοσ. 12 Μαρτίου 2017 Δημοσ. 12 Μαρτίου 2017 Δεν έχετε χιούμορ κυριε k33theod... :-D Απλά λόγω χαμηλού iq δεν καταλαβαίνω το χιόμουρ των άλλων. Μετά την εξήγηση όμως το κατάλαβα και γέλασα και γώ
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα