Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
binaire [2010/01/17 11:15] tyrtamos |
binaire [2012/03/06 14:25] tyrtamos |
||
---|---|---|---|
Ligne 166: | Ligne 166: | ||
===== Quelques fonctions complémentaires de calcul binaire ===== | ===== Quelques fonctions complémentaires de calcul binaire ===== | ||
- | ==== Rotation à droite d'un mot de nb bits, avec injection | + | ==== Rotation à droite d'un mot de n bits, avec injection à gauche |
+ | |||
+ | Rotation à droite de 1 bit | ||
<code python> | <code python> | ||
- | rotd = lambda b, nb: (b>> | + | rotd = lambda b, n=8: ((b>> |
</ | </ | ||
- | ==== Rotation à gauche d'un mot de nb bits, avec injection du bit de gauche, à droite ==== | + | Rotation à droite |
<code python> | <code python> | ||
- | rotg = lambda b, nb: ((b<<1)&(2**nb-1)) | ((b>> | + | rotd = lambda b, k=1, n=8: ((b>> |
</ | </ | ||
+ | Simplification pour 8 bits (valable pour k de 0 à 8, bornes incluses) | ||
+ | |||
+ | <code python> | ||
+ | rotd = lambda b, k=1: ((b>> | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Rotation à gauche d'un mot de n bits, avec injection à droite des bits perdus à gauche ==== | ||
+ | |||
+ | Rotation à gauche de 1 bit | ||
+ | |||
+ | <code python> | ||
+ | rotg = lambda b, n=8: ((b<< | ||
+ | </ | ||
+ | |||
+ | Rotation à gauche de k bits (valable pour k de 0 à n, bornes incluses): | ||
+ | |||
+ | <code python> | ||
+ | rotg = lambda b, k=1, n=8: ((b<< | ||
+ | </ | ||
+ | |||
+ | Simplification pour 8 bits (valable pour k de 0 à 8, bornes incluses) | ||
+ | |||
+ | <code python> | ||
+ | rotg = lambda b, k=1: ((b<< | ||
+ | </ | ||
+ | |||
+ | \\ | ||
+ | Amusez-vous bien! | ||
+ | |||
+ | |||
+ | < | ||
+ | < | ||
+ | <style type=" | ||
+ | <!-- | ||
+ | body {background-image: | ||
+ | --> | ||
+ | </ | ||
+ | </ | ||
+ | < | ||
+ | </ | ||
+ | </ | ||