Skip to content
Extraits de code Groupes Projets
Valider 1e4fe23c rédigé par Vincent-Xavier Jumel's avatar Vincent-Xavier Jumel :hammer_pick:
Parcourir les fichiers

Retour à la version classique de sphinx-exercise

parent 1c203fde
Branches main
Aucune étiquette associée trouvée
2 requêtes de fusion!120Ajout d'un fichier sur les arbres,!119Ajout d'un fichier sur les arbres
......@@ -18,15 +18,16 @@ kernelspec:
:::{prf:definition} code de Gray
Le **code de Gray** est un code binaire qui a pour intérêt de ne modifier
qu'un seul bit entre deux valeurs consécutives. On parle aussi de nombre
binaire réfléchi.
qu'un seul bit entre deux valeurs consécutives. On parle aussi de **nombre
binaire réfléchi**.
:::
L'intérêt d'un tel code est de minimiser les erreurs de mesures si plusieurs
bits changent simultanément, comme par exemple lors du passage de 0111 à
1000 (les 4 bits sont tous modifiés)
Un tel code peut être utilisé pour mesure une rotation pas à pas avec une
cellule, permettant une représentation continue des $N$ nombres choisis.
```{figure} https://www.allaboutcircuits.com/uploads/thumbnails/gray-code-basics.png
Le code binaire usuel se nomme **nombre binaire réfléchi**.
```{figure} https://upload.wikimedia.org/wikipedia/commons/9/9b/Encoder_Disc_%283-Bit%29.svg
---
scale: 30%
align: center
......@@ -34,7 +35,9 @@ align: center
Une représentation d'un capteur
```
:::{exercise}
```{exercise-start}
:label: codegray
```
1. Compléter le tableau
......@@ -44,7 +47,25 @@ Une représentation d'un capteur
| 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
| 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 |
2. Écrire un algorithme permettant de traduire un nombre binaire réfléchi en
nombre binaire naturel.
2.
1. Écrire un algorithme permettant de traduire un nombre binaire réfléchi en
nombre binaire naturel.
2. Écrire un algorithme permettant de traduire un nombree binaire
naturel en nombre binaire réfléchi.
3. Combien de codes binaires à 4 bits peut-on imaginer ? Et à $N$ bits ?
```{exercise-end}
```
````{solution} codegray
```{code-block} python3
b = 0b101
bin(b^(b//2))
b = 0b101
bin(b^(b>>1))
```
````
:::
wheel
jupyter-book[sphinx]
git+https://github.com/vincentxavier/sphinx-exercise@patch-translations#sphinx-exercise
#git+https://github.com/executablebooks/sphinx-exercise# sphinx-exercise
sphinx-exercise
#git+https://github.com/vincentxavier/sphinx-exercise@patch-translations#sphinx-exercise
git+https://github.com/vincentxavier/sphinx-proof@patch-translations#sphinx-proof
sphinxemoji
graphviz
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter