Discussions au sujet des autres produits NI

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

manipulation de données en binaires (concatenation, decalage binaire...)

Bonjour,

 

Je voudrais manipuler des données de type binaire c'est à dire pouvoir concatener deux trames de 4 bit pour l'obtenir sur 8 bit(ex: trame 1= 0101; trame2=1111 d'où trame 1+ trame2 =0101 1111).

 

Je souhaiterais aussi savoir s'il existe des exemple pour décaler une trame (j'ai essayer en multipliant par 8 car je veux faire un decalage à gauche de 4 octets mais je n'obtiens pas le résulat voulu...)

 

 

Une dernière question :smileyhappy: je voudrais savoir s'il est possible de définir des mots de 4 bit seulement, j'ai vu dans le menu représentation que l'on peut définir une variable de type octet ect... mais rien pour définir une variable de 4 bit seulement.

 

Merci et bonne journée !

0 Compliments
Message 1 sur 10
8 241 Visites

Palette de fonctions : Numérique>>Manipulation de données, tu y trouveras ton nirvana.

Slts

Pierre R...

Certified LabVIEW Developer
0 Compliments
Message 2 sur 10
8 240 Visites

Merci

 

Par contre j'ai un petit problème avec la concaténation je joint un VI pour montrer mon problème.

La concaténation n'a pas l'air de fonctionner il m'affiche juste la trame inférieure, pour mon programme je souhaite concaténer deux trames de 8 bits.

0 Compliments
Message 3 sur 10
8 219 Visites

Bonjour,

 

En utilisant votre exemple j'ai bien obtenu "11100000101 " en mettant 111 pour le premier nombre (sup) et 101 pour le second (inf).

 

Que souhaitez vous obtenir ? 111101 ?

 

Cordialement,


 

 

0 Compliments
Message 4 sur 10
8 214 Visites

Bonjour,

 

Pour effectuer votre decalage de bit, vous avez un outils dans la pallette numerique:

decalage.jpg

 

Pour concaténer des bouléens entre eux, il faut effectuer un décalage de bit puis faire une addition binaire, c'est un & logique.

Cordialement,

0 Compliments
Message 5 sur 10
8 209 Visites

Merci,

 

Je viens de m'apercevoir que ma fenêtre n'était pas assez agrandie et je ne voyais pas mon résultat en entier... désolé..

 

Merci pour les conseils. 🙂

0 Compliments
Message 6 sur 10
8 196 Visites

Bonjour.

Je regarde cet exemple.

comment fait t on pour obtenir le resultat 101101 ?

Merci.

0 Compliments
Message 7 sur 10
4 446 Visites

@scrat  a écrit :

Bonjour.

Je regarde cet exemple.

comment fait t on pour obtenir le resultat 101101 ?

Merci.


Pour arriver à une réponse rapide et nous éviter des déductions en lisant les messages de cette ancienne discussion, il serait judicieux de détailler ce que vous cherchez à faire en précisant vos données de départ.

0 Compliments
Message 8 sur 10
4 435 Visites

Bonjour.

En reponse a votre message et ceux precedent, comment obtenir le resultat 111101 avec le VI Concatenation ?

0 Compliments
Message 9 sur 10
4 421 Visites

Désolé mais cela ne clarifie rien.

 

Dans votre exemple, deux U8 sont joints, ce qui donne un U16 en sortie.

Même si seuls 4 bits des données en entrée sont visibles, les deux en comportent 8.

  • 1101 --> 00001101
  • 1110 --> 00001110

En assemblant les deux, et en affichant les 16 bits, le résultat est évidemment 0000110100001110.

 

Ceci étant dit, à vous de préciser à quoi consiste 111101 que vous espérez obtenir. Quelles parties des deux données en entrée représente ce résultat ?

A ce stade, c'est le flou le plus total mais il est évident que le résultat attendu ne peut pas être obtenu en joignant les deux données sans manipulation supplémentaire.

0 Compliments
Message 10 sur 10
4 408 Visites