Εξέταση Επίστημης Υπολογιστών (Σεπτέμβριος 2008)

Διδάσκοντες: Γ. Γραββάνης, Επ. Καθηγητής

Re: εξεταση 9/2008

Δημοσίευσηαπό Stokos » 17 Σεπ 2008, 14:30

δλδ αν το ποιο σημαντιψο bit στon AC ειναι 0 τοτε η εντολη παρακαμπτεται.. σωστα το πα??  τα χω φτυσει

ναι
Stokos
 

Re: εξεταση 9/2008

Δημοσίευσηαπό patirgerasimos » 17 Σεπ 2008, 21:10

σιγουρα αυτο ήθελε ή να μην περασουμε απο το δεκαδικο? να παρει εχει πεσει και το google..damn it >:( >:(
Άβαταρ μέλους
patirgerasimos
Hero Member
 
Δημοσιεύσεις: 1158
Εγγραφή: 09 Απρ 2008, 20:02
Τοποθεσία: Μονή Εσφιγμένου

Re: εξεταση 9/2008

Δημοσίευσηαπό Kevin » 17 Σεπ 2008, 21:53

[offtopic]
Τα μαλλιά των τεχνικών της otenet εχουν πέσει με τις βλακείες που κάνουν... Και παίρνουν και τα κέρατά τους στα πάγια και στις τιμές αυτές καθ'αυτές. Αυτά τα χούγια είχα και γω 2 χρόνια αλλά μετά έβαλα την γνωστή που ήρθε πριν λίγους μήνες και έχω το κεφάλι μου ήσυχο.
[/offtopic]
Kevin
 

Re: εξεταση 9/2008

Δημοσίευσηαπό Stokos » 17 Σεπ 2008, 21:56

Tregias έγραψε:μπορεί κάποιος να εξηγήσει 1) πώς λειτουργούν τα LDA,STA,ADD,CΜA,INP,AND κτλ και ποιές είναι οι διαφορές τους στη χρήση τους αφού και τα 4  πρώτα ουσιαστικά σημαίνουν στον η/υ να προσθέσει τη λέξη στη μνήμη (φόρτωσε=αποθήκευσε=πρόσθεσε=συμπλήρωμα).....2)Επίσης να μας εξηγήσει τη διαδικασία πρόσθεσης/αφαίρεσης 2 αριθμών σε 2αδική μορφή.....3)πώς μετατρέπουμε απο 8αδικό σε 16αδικό και το αντίστροφο χωρίς να κάνουμε ενδιάμεση μετατροπή σε 2αδικό?(το έβαλε στην εξεταστική του φεβρουαρίου και το ζητούσε ετσι ακριβώς)


1)

LDA: Φορτώνει τη λέξη από τον accumulator στη μνήμη
STA: Αποθηκεύει τη λέξη της μνήμης στον accumulator
ADD: Προσθέτει τις λέξεις στη μνήμη και τον accumulator
AND: Πράξη AND μεταξύ των λέξεων στη μνήμη και τον accumulator
CMA: Εκτελεί πράξη συμπλήρωμα στη λέξη στον accumulator (Τα 1 -> 0 και τα 0 -> 1)

INP και OUT: Input / Output χαρακτήρων στον accumulator

2)

Πρόσθεση αριθμών σε δυαδική μορφή:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0 & Κρατούμενο 1

Παράδειγμα (οι αριθμοί είναι unsigned, δηλ. χωρίς πρόσημο)
0 1 0 1 1 0 0 1
0 0 1 0 1 0 0 1
+-------------
1 0 0 0 0 0 1 0




3) Το παρακάτω είναι λάθος:
Κώδικας: Επιλογή όλων
Έστω ο αριθμός 1456 στο ωκταδικό σύστημα, θα χρησιμοποιήσω βοηθητική μετατροπή σε 10δικό σύστημα χωρίς όμως να υπολογίσω τον αριθμό στο 10δικό σύστημα (δε ξέρω αν του κάνει αυτό του γραββάνη).

1456 = 6 + 5*8 + 4*8² + 1*8³ (1) (μετατροπή σε δεκαδικό σύστημα)

Έστω ο αριθμός στο δεκαεξαδικό σύστημα XYZW με X,Y,Z,W ψηφία του

XYZW = W + Z*16 + Y*16² + X*16³ = W + 2Z*8 + 4Y*8² + 8X*8³ (2)

Όμως επειδή ο αριθμός στο δεκαδικό σύστημα είναι ο ίδιος είτε μεταφράζεται από οκταδικό είτε από δεκαεξαδικό σύστημα, πρέπει να ισχύει (1) = (2), ισότητα πολυωνύμων δηλαδή...

Τα X,Y,Z,W όμως μου βγαίνουν κλάσματα και όχι ακέραιοι όπως περίμενα (αφού είναι ψηφία), άρα κάτι κάνω λάθος.
Δε μπορώ να βρώ λάθος στο συνειρμό πάντως.


Οποιαδήποτε παρατήρηση/λύση για το παραπάνω καλοδεχούμενη.
Τελευταία επεξεργασία από Stokos και 17 Σεπ 2008, 22:01, έχει επεξεργασθεί 1 φορά/ες συνολικά
Stokos
 

Re: εξεταση 9/2008

Δημοσίευσηαπό Stokos » 17 Σεπ 2008, 22:15

Είναι ακριβώς η ίδια λογική με αυτό που κάναμε στο δημοτικό, π.χ.

Για αφαίρεση στο δυαδικό:
Δυαδικό Σύστημα: 0,1

0 - 0 = 0
1 - 0 = 1
0 - 1 = 0 & 1 Κρατούμενο
1 - 1 = 0

Για πρόσθεση στο ωκταδικό:
Ωκταδικό Σύστημα: 1,2,3,4,5,6,7,8

5 + 6 = 11 = 8 + 3 (δηλαδή 3 και 1 το κρατούμενο)
2 + 3 = 5 =  0 + 5 (δηλ. 5 και 0 το κρατούμενο)
8 + 1 = 9 = 8 + 1 (δηλ. 1 και 1 το κρατούμενο)

Για πρόσθεση στο δεκαεξαδικό:
Δεκαεξαδικο Σύστημα: 0,1,2,3,4,5,6,7,8,9,Α,Β,C,D,E,F

Α + Β = 21 = 16 + 5 (δηλ. 5 και 1 το κρατούμενο)
9 + 6 = F = 0 + F (δήλ. F και 0 το κρατούμενο)

~.~.~

Με την ίδια λογική γίνεται και η αφαίρεση (απλά στην αφαίρεση όταν προσθέτεις το κρατούμενο δε θα προσθέτεις 10 όπως το δεκαδικό σύστημα αλλά 8 για το οκταδικό, 16 για το δεκαεξαδικό κτλ).

Παράδειγμα:
Δεκαδικό: 2 - 5 -> (10+2) - 5 = 7 & 1 κρατούμενο
Δυαδικό: 0 - 1 -> (1+0) - 1 = 0 & 1 κρατούμενο
Οκταδικό: 2 - 5 -> (8+2) - 5 = 5 & 1 κρατούμενο
Δεκαεξαδικό: 2 - 5 -> (16+2) - 5 = D & 1 κρατούμενο
Τελευταία επεξεργασία από Stokos και 17 Σεπ 2008, 22:26, έχει επεξεργασθεί 1 φορά/ες συνολικά
Stokos
 

Re: εξεταση 9/2008

Δημοσίευσηαπό Stokos » 17 Σεπ 2008, 22:32

Ναι σωστά, αλλά έχει πολύ πολύπλοκες πράξεις έτσι και δε νομίζω να το ζητά με αυτό το τρόπο ο Γραββάνης αφού διευκρινίζει οτι θέλει "άμεση" μετατροπή  :-\
Stokos
 

Re: εξεταση 9/2008

Δημοσίευσηαπό Stokos » 18 Σεπ 2008, 16:25

Πως τα πήγατε παιδιά? Τι θέματα έβαλε περίπου?  ::)
Stokos
 

Re: εξεταση 9/2008

Δημοσίευσηαπό lamgramm » 18 Σεπ 2008, 17:17

Αστα να πανε stoke μου φαινεται πρεπει να βγαλεις το e-book σου για να περασουμε! Παλι μας πελεκισε...
Άβαταρ μέλους
lamgramm
Full Member
 
Δημοσιεύσεις: 113
Εγγραφή: 10 Ιουν 2008, 15:44

Re: εξεταση 9/2008

Δημοσίευσηαπό kavourdilis » 18 Σεπ 2008, 22:13

να τσεκαρω κατι ενας παραλληλος αθροιστης 4 ψηφιων ειναι κατι τετοιο οπως στη σελιδα 182?
kavourdilis
Newbie
 
Δημοσιεύσεις: 21
Εγγραφή: 09 Μάιος 2008, 15:06
Φοιτητής ΗΜΜΥ: Ναι

Re: εξεταση 9/2008

Δημοσίευσηαπό Stokos » 18 Σεπ 2008, 22:58

kavourdilis έγραψε:να τσεκαρω κατι ενας παραλληλος αθροιστης 4 ψηφιων ειναι κατι τετοιο οπως στη σελιδα 182?

Ναι, ακριβώς αυτό είναι.
Stokos
 

Re: εξεταση 9/2008

Δημοσίευσηαπό Stokos » 22 Νοέμ 2009, 14:28

Συμπλήρωμα στα posts μου [Τετ Σεπ 17, 2008 9:56 pm] και [Τετ Σεπ 17, 2008 10:15 pm].
Δυστυχώς έχουν σβηστεί κάποια ενδιάμεσα posts/ερωτήματα και έχει χαθεί η συνοχή της συζήτησης...


~~~

Μια διόρθωση πρώτα:
Stokos έγραψε:Δεκαδικό: 2 - 5 -> (10+2) - 5 = 7 & 1 κρατούμενο
Δυαδικό: 0 - 1 -> (2+0) - 1 = 1 & 1 κρατούμενο
Οκταδικό: 2 - 5 -> (8+2) - 5 = 5 & 1 κρατούμενο
Δεκαεξαδικό: 2 - 5 -> (16+2) - 5 = D & 1 κρατούμενο


Επίσης βρήκα την απάντηση στο πως μπορούμε να κάνουμε απευθείας μετατροπές από δυαδικό σε οκταδικό ή δεκαεξαδικό και αντίστροφα.

Η μέθοδος βασίζεται στη παρατήρηση ότι 8 = 2^3 και 16 = 2^4.

Παράδειγμα
Έστω ένας αριθμός στο οκταδικό σύστημα (73205)8. Για να το μετατρέψουμε στο δυαδικό παίρνουμε ένα-ένα τα ψηφία του και γράφουμε την 3άδα από 0 και 1 που αντιστοιχούν στα ψηφία στο δυαδικό.

7 = 111
3 = 011
2 = 010
0 = 000
5 = 101

Άρα (73205)8 = (111 011 010 000 101)2

Αντίστροφα, για να πάμε απευθείας από το δυαδικό σύστημα στο οκταδικό σπάμε τον αριθμό σε 3άδες ξεκινώντας από τα δεξιά προς τα αριστερά, π.χ.

(11110101001101)2 -> 11 110 101 001 101

Και αντιστοιχούμε κάθε 3άδα στον αριθμό που εκφράζει:
11 = 3
110 = 6
101 = 5
001 = 1
101 = 5

άρα (11110101001101)2 = (36515)8.

~~~

Ομοίως γίνονται και οι μετατροπές από δεκαεξαδικό στο δυαδικό και αντίστροφα, χρησιμοποιώντας όμως τετράδες αντί για τριάδες.

~~~

Για γρήγορες επαληθεύσεις των αποτελεσμάτων [δείτε εδώ]
Stokos
 

Προηγούμενη

Μέλη σε σύνδεση

Μέλη σε αυτή την Δ. Συζήτηση : Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης