Conversion des valeurs "entier"
Discutez d'informatique ici !
-
Gil
- Messages: 3
- Enregistré le: 01 Juil 2013, 13:49
-
par Gil » 01 Juil 2013, 13:55
Bonjour
Pour mettre des valeurs dans un tableau de chiffres je voudrais demander comment peut-on convertir les valeurs -100 à 100 en 0 à 255 ? ou quels sont les mots clés corrects pour une recherche sur internet ?
Je vous remercie beaucoup
-
ampholyte
- Membre Transcendant
- Messages: 3940
- Enregistré le: 21 Juil 2012, 08:03
-
par ampholyte » 01 Juil 2013, 14:03
Bonjour,
Peux-tu préciser un peu le contexte ? Que cherches-tu à faire en convertissant -100 à 100 (pourquoi de 0 à 255) ?
Sinon tu peux utiliser la méthode suivante :
[-100; 100] => on addition 100.
[0; 200] => on multiplie par 255/200
[0; 255]
Pour résumer pour x inclu dans [-100; 100], alors y = (x + 100) * 255/200 sera inclu dans [0; 255].
-
Gil
- Messages: 3
- Enregistré le: 01 Juil 2013, 13:49
-
par Gil » 01 Juil 2013, 14:20
Merci beaucoup de me répondre si vite.
C'est pour un petit programme Android qui va récupérer les valeurs en abcisses d'une aire (-100 à 100) et de les transmettre à une carte d'entrée/sortie (via bluetooth) qui elle va débiter des valeurs 0 à 255 (hexadécimale) pour alimenter un capteur via une sortie digitale.
Merci encore
-
ampholyte
- Membre Transcendant
- Messages: 3940
- Enregistré le: 21 Juil 2012, 08:03
-
par ampholyte » 01 Juil 2013, 14:37
D'accord, merci pour ces précisions cela devient plus simple de t'aider =).
Tu sais que en binaire tu auras un nombre codé sur 8 bits 0000 0000(b) (FF(h), 255(d)).
Or au maximum tu as 100(d) = 64(h) = 0110 0100(b)
Tu auras donc toujours le bit de poids fort à 0, tu peux donc t'en servir comme bit de signe
100(d) = 0110 0100(b) => bit de poids fort à 0 donc positif
-100(d) = 1110 0100(b) => bit de poids fort à 1 donc négatif.
Ensuite tu peux utiliser deux systèmes de codage, je te renvoie sur ce lien pour plus d'explication : [url]http://fr.wikipedia.org/wiki/Système_binaire#Repr.C3.A9sentation_des_entiers_n.C3.A9gatifs[/url]
-
Gil
- Messages: 3
- Enregistré le: 01 Juil 2013, 13:49
-
par Gil » 01 Juil 2013, 15:04
Merci encore
Aussi je crois que l'utilisation du complément serait une autre méthode mais je dois transmettre les bits avec une boucle qui va occuper 3 lignes de code... Je vais essayer les 2 méthodes.
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 3 invités