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 | ||
code_gray [2012/03/17 08:08] tyrtamos |
code_gray [2012/03/17 08:19] tyrtamos |
||
---|---|---|---|
Ligne 42: | Ligne 42: | ||
===== Générateur de code de Gray ===== | ===== Générateur de code de Gray ===== | ||
- | Code proposé (inspiré de la page de wikipedia): | + | Code proposé (script |
<code python> | <code python> | ||
Ligne 69: | Ligne 69: | ||
===== Conversion inverse ===== | ===== Conversion inverse ===== | ||
- | Pour obtenir le nombre décimal correspondant à un code de Gray donné (code inspiré de la page de wikipedia): | + | Pour obtenir le nombre décimal correspondant à un code de Gray donné (script |
<code python> | <code python> | ||
- | def gray2dec(num, n=8): | + | def gray2dec(num): |
""" | """ | ||
- | shift=1 | + | shift = 1 |
- | while shift < (n<< | + | while True: |
- | | + | |
+ | num ^= idiv | ||
+ | if idiv <= 1 or shift == 32: | ||
+ | return num | ||
shift <<= 1 | shift <<= 1 | ||
- | return num | ||
# exemple d' | # exemple d' | ||
Ligne 86: | Ligne 88: | ||
En entrée de cette fonction, num est le nombre entier décimal représentant le code de Gray. Si celui-ci est connu sous forme de chaine binaire (ex: " | En entrée de cette fonction, num est le nombre entier décimal représentant le code de Gray. Si celui-ci est connu sous forme de chaine binaire (ex: " | ||
- | + | \\ | |
+ | Amusez-vous bien! | ||