Οδηγός Μελέτης - Εισαγωγή στον Προγραμματισμό

Α2.7 · Αρνητικοί αριθμοί σε συμπλήρωμα ως προς 2

Διάλεξη 2: Μνήμη και Μεταβλητές, διαφάνεια 21 · Δυσκολία ★☆☆ · short-answer · Κεφάλαια: 2

Υπάρχουν θετικοί και αρνητικοί ακέραιοι. Πώς αναπαριστούμε το γεγονός ότι ένας αριθμός είναι αρνητικός στη δυαδική αναπαράσταση; Τι κάνουμε με το πρόσημο;

Στο συμπλήρωμα ως προς 2 (two’s complement) το πρόσημο φαίνεται από το σημαντικότερο bit του αριθμού (\(0 \to +\), \(1 \to -\)). Για να πάρουμε την αναπαράσταση του \(-N\) από έναν θετικό δυαδικό αριθμό \(N\):

  1. Αντιστρέφουμε (flip) όλα τα bit του \(N\).
  2. Προσθέτουμε 1.

Έστω \(N = 11_{(10)} = 00001011_{(2)}\). Ποια είναι η αναπαράσταση του \(-N\) σε 8 bits; Επαληθεύστε ότι \(N + (-N) = 0\).

Υπόδειξη

Κάντε τα δύο βήματα ένα-ένα, προσέχοντας τα κρατούμενα στην πρόσθεση. Στην επαλήθευση, το άθροισμα βγαίνει 9 bits· τι γίνεται με το bit που δεν χωράει στα 8;

Αριθμός στον οδηγό: Α2.7 (στο κεφάλαιο) · Μόνιμο αναγνωριστικό: slides-lec02-twos-complement · Σύνδεσμος: https://progintro.github.io/study/questions/slides/slides-lec02-twos-complement.html · Markdown (GitHub)