Το Στέκι των Πληροφορικών

Γενικό Λύκειο => Γ΄ Λυκείου => Δομή επανάληψης => Μήνυμα ξεκίνησε από: gimnasio στις 09 Δεκ 2010, 09:28:50 ΠΜ

Τίτλος: ολίσθηση
Αποστολή από: gimnasio στις 09 Δεκ 2010, 09:28:50 ΠΜ
σχετικά με την ολίσθηση που εχει στη θεωρία. Μετακινωντας προς τα δεξια ή τ'αριστερα συνεχεια και βαζοντας μηδενικα ειτε στο τελος ειτε στην αρχη, καποια στιγμη δε θα γινει ο αριθμος 00000000; Κατι δε θυμαμαι!
Τίτλος: Απ: ολίσθηση
Αποστολή από: petrosp13 στις 09 Δεκ 2010, 01:06:38 ΜΜ
Όταν ο Μ2 γίνει 000000000, σταματάει η διαδικασία
Αυτό είναι το ζητούμενο
Ο Μ2 ολισθαίνει συνεχώς προς τα δεξιά μέχρι να μην μείνει τίποτα
Τίτλος: Απ: ολίσθηση
Αποστολή από: Laertis στις 09 Δεκ 2010, 02:07:20 ΜΜ
Η δεξιά ολίσθηση αν συνεχίσει μέχρι τέλος βγάζει σωστά 0 γιατί η ακέραια διαίρεση 1/2 δίνει πηλίκο 0.
Στην αριστερή ολίσθηση δε μπορεί να συνεχίσει να μετακινείται το MSB γιατί ο καταχωρητής που λαμβάνει χώρα η ολίσθηση είναι περιορισμένων θέσεων (8 ή 16 ή 32 bit) οπότε δεν έχει νόημα το shift left στο 10000000  γιατί απλά ο διπλάσιος αριθμός δε χωρά να παρασταθεί στον συγκεκριμένο καταχωρητή.
Τίτλος: Απ: ολίσθηση
Αποστολή από: gimnasio στις 10 Δεκ 2010, 07:29:52 ΠΜ
και σ'αυτή την περίπτωση ένας αριθμός μεγαλύτερος του 256 πως παρίσταται; Με κάποιο κρατούμενο;
Τίτλος: Απ: ολίσθηση
Αποστολή από: Laertis στις 10 Δεκ 2010, 11:24:58 ΠΜ
Τότε συμβαίνει overflow αν ο καταχωρητής είναι 8bit. Δες σε ένα παρόμοιο θέμα τη συζήτηση που είχε γίνει :

https://alkisg.mysch.gr/steki/index.php?topic=893.msg12025#msg12025