Εμφάνιση αποτελεσμάτων : 1 έως 9 από 9

Θέμα: Αφαίρεση Δυαδικών Αριθμών

  1. #1
    RulerL0rd
    Guest

    Προεπιλογή Αφαίρεση Δυαδικών Αριθμών

    Καλησπέρα. Έχω μπερδευτεί με την αφαίρεση δυαδικών αριθμών. Μπορεί κάποιος παρακαλώ να μου εξηγήσει γιατί έχω μπερδευτεί και δεν βρίσκω πουθενά μια ολοκάθαρη απάντηση. π.χ. θέλω να αφαιρέσω το 01101011 (αφαιρετέος) απ'το 01111001 (μειωτέος). Τα βάζω το ένα κάτω από το άλλο και μετά πώς πάει η διαδικασία. Μπορεί κάποιος να μου απαντήσει με αυτό το παράδειγμα; Πιο συγκεκριμένα έχω μπερδευτεί (δείτε στο συνημμένο)...

    IMG_2742.jpg

    0 Not allowed! Not allowed!
    Τελευταία επεξεργασία από το χρήστη RulerL0rd : 10-09-13 στις 18:56

  2. #2
    Μέλος Το avatar του χρήστη arkoudiaris
    Όνομα
    Νίκος
    Εγγραφή
    Jun 2011
    Περιοχή
    Καματερό
    Μηνύματα
    467

    Προεπιλογή

    χρησιμοποιησε συμπληρωμα ως προς δυο για τον αφαιρεταιο και επειτα προσθεσε κρατωντας τα μπιτ που εχουν

    0 Not allowed! Not allowed!

  3. #3
    RulerL0rd
    Guest

    Προεπιλογή

    Ναί, αυτός είναι ο δεύτερος τρόπος. Εγώ όμως θέλω να ξέρω αυτόν πώς γίνεται. Αλλά επίσης δεν γίνεται συμπλήρωμα ως πρός δύο εδώ νομίζω, αφού και οι δύο αριθμοί είναι θετικοί.

    (2η Ερώτηση): Επίσης θέλω να ρωτήσω αν υπάρχει κάποιος πιο γρήγορος τρόπος να μετατρέψουμε δεκαδικό αριθμό σε δυαδικό (χωρίς βοήθεια calculator) εκτός από να τον παίρνουμε και να διαιρούμε συνέχεια με το 2. Για παράδειγμα αν είχαμε τους αριθμούς 23725 και -11346.

    (3η Ερώτηση): Στο δεύτερο συνημμένο έχω την εκφώνησης μιας ερώτησης και στο πρώτο συνημμένο έχω την απάντηση του καθηγητή. Αυτό που δεν καταλαβαίνω εδώ είναι γιατί τους δύο αρνητικούς αριθμούς αφού τους μετατρέπει από 2s complement σε προσημασμένους τους βρίσκει σωστά, και ύστερα τους κάνει θετικούς. Γιατί τους ξανακάνει ύστερα θετικούς. Οι αριθμοί ήταν αρχικά σε 2s complement μορφή. Οπότε αυτό που έπρεπε να γίνει ήταν να τους κάνει 1s complement (αφαιρώντας 1) και ύστερα προσημασμένους (αντιστρέφοντας τα bit). Γιατί ξανακάνει αυτήν την διαδικασία ύστερα και τους μετατρέπει σε θετικούς;
    Συνημένες Εικόνες Συνημένες Εικόνες
    • Τύπος Αρχείου: jpg 4322.jpg (63,7 KB, 19 εμφανίσεις)
    • Τύπος Αρχείου: jpg 2.jpg (68,7 KB, 10 εμφανίσεις)

    0 Not allowed! Not allowed!
    Τελευταία επεξεργασία από το χρήστη RulerL0rd : 10-09-13 στις 21:04

  4. #4
    Μέλος Το avatar του χρήστη yanis
    Όνομα
    ΓΙΑΝΝΗΣ
    Εγγραφή
    Nov 2009
    Περιοχή
    ΘΕΣΣΑΛΟΝΙΚΗ
    Μηνύματα
    323

    Προεπιλογή

    δες κ αυτο το τρόπο
    http://www.youtube.com/watch?v=S9LJknZTyos

    0 Not allowed! Not allowed!

  5. Ένα μέλος ευχαρίστησε τον yanis για αυτό το χρήσιμο μήνυμα:


  6. #5
    Μέλος
    Όνομα
    Γιώργος
    Εγγραφή
    Oct 2006
    Περιοχή
    KN10gi
    Μηνύματα
    258

    Προεπιλογή

    Για το αρχικό ερώτημα:
    Βρισκόμαστε στην τέταρτη θέση από δεξιά (αξία 2^3)
    Το 1 με το δανεικό γίνεται 1+1=10 (1+1=2).
    Το 10 δεν αφαιρείται από το 1 του μειωτέου. Δανειζόμαστε μια μονάδα ανώτερης τάξης και γίνεται 10+1=11 (2+1=3).
    Οπότε αφαιρούμε 11-10=1 (3-2=1) και συνεχίζουμε.
    0111 1001 121
    -0110 1011 -107
    ----------- ----
    0000 1110 14


    Για το δεύτερο ερώτημά σου "εύκολος" τρόπος δεν θα το 'λεγα αλλά για μικρούς αριθμούς 8-9bit μπορείς να αφαιρείς από τον αρχικό αριθμό τη μεγαλύτερη δύναμη του δύο και αν αφαιρείται να σημειώνεις άσσο αν όχι 0 και συνεχίζεις με το υπόλοιπο και τις επόμενες. Π.χ. Για οκτάμπιτο <=255 ξεκινάς με το 128 και συνεχίζεις με 64,32,16,8,4,2,1 Άν το συνηθίσεις δουλεύεις γρήγορα.

    Για τους προσημασμένους αριθμούς ένας γρήγορος τρόπος για να υπολογίσεις την τιμή τους είναι να θεωρήσεις το ψηφίο του προσήμου ως αντίστοιχη αρνητική αξία και όλα τα άλλα ψηφία με κανονική θετική αξία και να τα αθροίσεις.
    Π.χ 1110 1100 = -128+64+32+8+4 = -128+108 = -20

    0 Not allowed! Not allowed!

  7. Ένα μέλος ευχαρίστησε τον gxry για αυτό το χρήσιμο μήνυμα:


  8. #6
    RulerL0rd
    Guest

    Προεπιλογή

    Ευχαριστώ και τον yanis και τον gxry. Τα δύο πρώτα ερωτήματα μου τα κατάλαβα πολύ καλά. Με βοήθησε και το βίντεο πολύ.

    Παραμένει όμως η τρίτη ερώτηση μου προς το παρόν, γιατί δεν καταλαβαίνω αυτό το περίεργο που έκανε στη λύση του ο καθηγητής (διαβάστε στο πιο πάνω μου ποστ για την τρίτη μου ερώτηση).


    Edit: Νομίζω κατάλαβα μόνος μου την απάντηση στην τρίτη ερώτηση μου. Οι αριθμοί λέει πώς είναι σε μορφή 2s complement. Εγώ πίστευα πώς είναι σε μορφή προσημασμένου αριθμού έτσι κρατούσα στους αρνητικούς αριθμούς το most significant bit ως 1, γι'αυτό δεν μπορούσα να το καταλάβω. Αλλά τώρα νομίζω πώς είμαι σωστός.

    0 Not allowed! Not allowed!
    Τελευταία επεξεργασία από το χρήστη RulerL0rd : 10-09-13 στις 21:27

  9. #7
    Μέλος Το avatar του χρήστη arkoudiaris
    Όνομα
    Νίκος
    Εγγραφή
    Jun 2011
    Περιοχή
    Καματερό
    Μηνύματα
    467

    Προεπιλογή

    λοιπον αυτο που γινεται ειναι το εξης

    στο πατερν οτι οι δυαδικοι αριθμοι ειναι στην μορφη συμπληρωματος ως προς 2 εχουμε οτι
    1)αν ο αριθμος ειναι θετικος τοτε αρκει για καθε bit να πολλαπλασιασουμε με την αντιστοιχη ταξη ν (*2^ν)

    2)αν ο αριθμος ειναι αρνητικος τοτε δεν υπαρχει αμεσως τροπος ευκολα κατανοητος απο τον ανθρωπο για να βρουμε το μετρο του, εκτος αν τον μετατρεψουμε σε θετικο, αυτο κανει στις δυο τελευταιες περιπτωσεις.

    0 Not allowed! Not allowed!

  10. Ένα μέλος ευχαρίστησε τον arkoudiaris για αυτό το χρήσιμο μήνυμα:


  11. #8
    Μέλος Το avatar του χρήστη arkoudiaris
    Όνομα
    Νίκος
    Εγγραφή
    Jun 2011
    Περιοχή
    Καματερό
    Μηνύματα
    467

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από RulerL0rd Εμφάνιση μηνυμάτων
    Ναί, αυτός είναι ο δεύτερος τρόπος. Εγώ όμως θέλω να ξέρω αυτόν πώς γίνεται. Αλλά επίσης δεν γίνεται συμπλήρωμα ως πρός δύο εδώ νομίζω, αφού και οι δύο αριθμοί είναι θετικοί.
    πάντα μπορεις να χρησιμοποιησεις το συμπληρωμα ως προς δυο αρκει να γνωριζεις σε τι μορφη σου δινονται οι δυαδικοι αριθμοι και να κανεις τις αντιστοιχες μετατροπες...

    0 Not allowed! Not allowed!

  12. #9
    RulerL0rd
    Guest

    Προεπιλογή

    Πολύ ωραίος φίλε. Κατάλαβα. : )

    0 Not allowed! Not allowed!

Παρόμοια Θέματα

  1. Σταθμοί Αριθμών
    By john_b in forum Ραδιοερασιτεχνισμός
    Απαντήσεις: 13
    Τελευταίο Μήνυμα: 13-01-16, 17:13
  2. MpSigStub.exe .. αφαίρεση
    By knaison in forum Software Η/Υ
    Απαντήσεις: 8
    Τελευταίο Μήνυμα: 11-09-14, 22:39
  3. Απαντήσεις: 4
    Τελευταίο Μήνυμα: 23-05-14, 04:57
  4. Γεννήτρια τυχαίων αριθμών για ΚΙΝΟ-ΛΟΤΤΟ-ΤΖΟΚΕΡ
    By eebabs2000 in forum Παρουσίαση Ολοκληρωμένων Κατασκευών
    Απαντήσεις: 5
    Τελευταίο Μήνυμα: 03-10-11, 21:02
  5. Λήψη αριθμών από RS232
    By m_kaps in forum Μικροελεγκτές
    Απαντήσεις: 39
    Τελευταίο Μήνυμα: 12-07-11, 09:35

Tags for this Thread

Δικαιώματα - Επιλογές

  • Δημιουργία θεμάτων: Όχι
  • Υποβολή μηνυμάτων: Όχι
  • Σύναψη αρχείων: Όχι
  • Επεξεργασία μηνυμάτων: Όχι
  •  
  • BB code: σε λειτουργία
  • Smilies: σε λειτουργία
  • [IMG]: σε λειτουργία
  • [VIDEO] code is σε λειτουργία
  • HTML: εκτός λειτουργίας