M2000 Γλώσσα Προγραμματισμού
Θέλετε να αντιδράσετε στο μήνυμα; Φτιάξτε έναν λογαριασμό και συνδεθείτε για να συνεχίσετε.

Πράξεις με δυαδικούς αριθμούς

Πήγαινε κάτω

Πράξεις με δυαδικούς αριθμούς Empty Πράξεις με δυαδικούς αριθμούς

Δημοσίευση από m2000 Παρ Ιουν 10, 2016 4:55 pm

\\ μπορούμε να βάλουμε μια Διάβασε β αντί να δώσουμε τιμή
\\ και έτσι αν το τμήμα λέγεται α τότε με α 12 καλούμε το τμήμα με παράμετρο 12
\\ με tab και alt tab μπορούμε να μετακινήσουμε πολλές γραμμές μαζί
\\ μπορούμε να μετακινούμε τις γραμμές σπρόχνωντάς τες με το ποντίκι!
Γραμματοσειρά "Tahoma"   
Πένα 14
Οθόνη 1
β = 12
Συνάρτηση δυαδ$ {
      Διάβασε μια_τιμή
      Αν Ταύτιση("Α") τότε {
            Διάβασε από_εδώ
           από_εδώ=2*(ακ(4-από_εδώ) υπολ 4+1)-1
      } Αλλιώς {
            από_εδώ=1
      }
            δεκαεξαδική$ = Δεκαεξ$( μια_τιμή, 4 )
      Πίνακας μια_τιμή$( 16 )
      μια_τιμή$( 0 ) = "0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111", "1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111"
      Εγγραφο Αα$
      Για ι = από_εδώ Εως Μήκος( δεκαεξαδική$ )
            Αα$ = μια_τιμή$( Εκφρ( "0x" + Μες$( δεκαεξαδική$, ι, 1 ) ) )
      Επόμενο ι
      = Αα$
}
Φόρμα 100,48 \\ χαρακτήρες πλάτος
Τύπωσε "Μετατροπή Δυαδικού από το " ; β ; " σε 32bits:"
Τύπωσε δυαδ$( β )
Τύπωσε δυαδ$( Δυαδικό.Αντίστροφο( β ) ); " Συμπλήρωμα ως προς 1 του " ; β
Τύπωσε δυαδ$( Δυαδικό.Αντίστροφο( β ) + 1 ); " Συμπλήρωμα ως προς 2 του " ; β
Τύπωσε δυαδ$( δυαδικό.ακέραιο(-β)); " Το -12  είναι το συμπλήρωμα του 2, σε δυαδική αναπαράσταση"
Τύπωσε δυαδ$( 0x1000 ) ; " ή 0x1000 δεκαεξαδικό"
Τύπωσε δυαδ$( 0xFFFF1000 ) ; " ή 0xFFFF1000 δεκαεξαδικό"
Τύπωσε δυαδ$( #FFAA22 ) ; " #FFAA22 είναι το 0x22AAFF - έχουμε μια τιμή RGB (RED=255 ή 0xFF) "
     \\ είναι το FF το οποίο είναι το τρίτο byte και όχι το πρώτο.
Τύπωσε δυαδ$( 0xFFAA22 ); " το 0xFFAA22 δεν είναι ίδιο με το #FFAA22"  
   
     \\ Μπορούμε να τυπώσουμε στο δεκαεξαδικό όπως στην Τύπωσε τυπώνουμε στο δεκαδικό.
     \\ αρνητικές τιμές ή εκτός ορίων τυπώνονται με ???-  
Δεκαέξ "ο αριθμός Χ=" ; 256, "το άθροισμα =" ; 0x0100 + 0xF0, "To 250067:", 250067
Δεκαέξ "Εδώ είναι το λάθος (βάλαμε αρνητικό):" ; - 1
Για Bytes=1 έως 4 {
      Τύπωσε Δεκαεξ$(123,Bytes), δυαδ$(123,Bytes)
}
Για Bit=1 έως 8 ανα 2 {
      Τύπωσε Δυαδ$(Δυαδικο.ολισθηση(123,Bit)); " Ολίσθηση αριστερά στο ";Bit;"o Bit"
}
Τύπωσε Δυαδ$(123) ; " Κανονικό - Αριθμός 123  ή 0x";Δεκαεξ$(123,1)
Για Bit=1 έως 4 {
      Τύπωσε Δυαδ$(Δυαδικη.περιστροφη(123,-Bit)) ; " Περιστροφή  δεξιά στο ";Bit;"o Bit"
}
α=Δυαδικη.περιστροφη(123,-4)
Τύπωσε μορφή$("Δυαδικός ως ακέραιος με πρόσημο: {0} και χωρίς {1}", ακέραιο.δυαδικό(α), α)
\\ αντιστροφή bits
Τύπωσε δυαδ$(δυαδικό.απο(α,0χffffffff)); " η πραγματική αναστροφή των Bits"
Τύπωσε δυαδ$(δυαδικό.αντιστροφο(α)); " Εδώ είναι λάθος το α έχει Unsign τιμή"
Τύπωσε "Το δυαδικό.αντίστροφο δουλεύει για αριθμούς με πρόσημο Sign και όχι Unsign"
Τύπωσε δυαδ$(δυαδικό.αντιστροφο(ακεραιο.δυαδικό(α))) ; " εκτός και αν το μετατρέπουμε σε Sign"
Τύπωσε δυαδ$(-1-(ακεραιο.δυαδικό(α))); " το ίδιο κανουμε και εδώ, επειδή ξέρουμε ότι ο α είναι αρνητικός"
Τύπωσε Δυαδ$(α)
Τύπωσε Δυαδ$(δυαδικό.και(α,0χff)); " διατηρούμε τα τελευταία δεξιά 8 bit, τα άλλα γίνονται 0"
Τύπωσε Δυαδ$(δυαδικό.και(α,0χff000000)); " διατηρούμε τα τελευταία αριστερά 8 bit, τα άλλα γίνονται 0"
Τύπωσε Δυαδ$(δυαδικό.η(α,0χAA00)); " κάνουμε συγκεκριμένα Bit 1"
Τύπωσε Δυαδ$(δυαδικό.απο(δυαδικό.η(α,0χAA00),0χF00)); " αντιστρέφουμε συγκεκριμένα bit"
Τύπωσε Δυαδ$(45)
Τύπωσε Δυαδ$(-45); " παίρνει την απόλυτη τιμή, δίνει ότι και η προηγούμενη"
Τύπωσε Δυαδ$(δυαδικό.ακεραιο(-45)); " δίνει το δυαδικό σε αναπαράσταση ακέραιου"
Τύπωσε μορφη$("Αριθμός χωρίς πρόσημο {0} που έχει τα ίδια bit με αυτόν {1}",δυαδικό.ακεραιο(-45), -45)
m2000
m2000
Admin

Posts : 27
Join date : 10/06/2016
Age : 57
Location : Kanallaki Greece

https://m2000.forumgreek.com

Επιστροφή στην κορυφή Πήγαινε κάτω

Επιστροφή στην κορυφή


 
Δικαιώματα σας στην κατηγορία αυτή
Δεν μπορείτε να απαντήσετε στα Θέματα αυτής της Δ.Συζήτησης