Μπήκες στα βαθιά νερά, έλπιζα πως δε θα ρωτήσετε. Θα ήταν καλό να
αποφύγετε τα "
bitwise operators", έχουν να κάνουν με δυαδικό τρόπο αρίθμησης (0 και 1). Δεν είμαι σίγουρος, αλλά αμφιβάλλω αν θα σας χρησιμεύσουν για τα πρώτα σας βήματα στον προγραμματισμό (εκτός κι αν πάτε για προγραμματισμό μηχανών;
).
Προσωπικά δεν είμαι και πολύ καλός σ'αυτά, αλλά ένα περίπου θα τα βρεις επεξηγημένα στην ιστοσελίδα:
http://wiki.python.org/moin/BitwiseOperatorshttp://wiki.python.org/moin/BitManipulationΜε λίγα λόγια, οι αριθμοί στο δυαδικό σύστημα
από το 0 μέχρι το 10:
- Κώδικας: Επιλογή όλων
$ for i in 0 1 2 3 4 5 6 7 8 9 10; do ( echo "$i => `echo "ibase=10;obase=2;$i" | bc`" ); done
0 => 0
1 => 1
2 => 10
3 => 11
4 => 100
5 => 101
6 => 110
7 => 111
8 => 1000
9 => 1001
10 => 1010
http://en.wikipedia.org/wiki/Binary_num ... arithmetichttp://el.wikipedia.org/wiki/%CE%94%CF% ... E%BC%CE%B1Ο δυαδικός αριθμός 1101 [μικρό 2] αναπαριστά ποσότητα ίση με 1 μονάδα (1 * 2 [στη δύναμη 0]), 0 δυάδες (0 * 2 [στη δύναμη 1]), 1 τετράδα (1 * 2 [στη δύναμη 2]) και 1 οκτάδα (1 * 2 [στη δύναμη 3]). Διαβάζεται : "ένα,ένα,μηδέν,ένα [με βάση 2]". Ισούται δηλαδή με τον αριθμό 13 του δεκαδικού συστήματος, 1 * 2 ** 0 + 0 * 2 ** 1 + 1 * 2 ** 2 + 1 * 2 ** 3 = 13.
"ΚΑΙ" -
Πρόσθεση δυαδικών αριθμώνx & y: Το "ΚΑΙ" αντιστοιχεί στην πρόσθεση binary αριθμών στην python συμβολίζεται με το χαρακτήρα "&":
Σημείωση:
Πρέπει ΟΛΑ να είναι 1 για να δώσουν αποτέλεσμα 1$ python3
Python 3.0.1+ (r301:69556, Apr 15 2009, 17:25:52)
[GCC 4.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 0 & 0
0
>>> 1 & 0
0
>>> 0 & 1
0
>>> 1 & 1
1
>>> 1 & 1 & 1
1
>>> 1 & 1 & 0
0
>>> 1 & 0 & 1
0
"Ή"
x | y: Το "'Η" αντιστοιχεί στον έλεγχο binary αριθμών,
αν ένα από αυτά είναι 1, επιστεφει 1. Στην python συμβολίζεται με το χαρακτήρα "|":
- Κώδικας: Επιλογή όλων
>>> 1 | 1
1
>>> 1 | 1 | 1
1
>>> 1 | 0 | 0
1
>>> 0 | 1
1
>>> 0 | 0
0
x << y είναι το ίδιο με το χ * 2 ** y:
- Κώδικας: Επιλογή όλων
>>> 1 << 3
8
>>> 1*2**3
8
>>> 3 << 10
3072
>>> 3*2**10
3072
>>>
x >> y είναι το ίδιο με x // 2 ** y :
- Κώδικας: Επιλογή όλων
>>> 50 >> 3
6
>>> 50 // 2 ** 3
6
Ισχύει και για python2.6