Concaténation de bytes en c#

Fermé
DarKcYbeR Messages postés 98 Date d'inscription mercredi 2 mai 2007 Statut Membre Dernière intervention 15 février 2011 - 26 nov. 2009 à 18:54
blux Messages postés 26748 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 29 mars 2025 - 26 nov. 2009 à 20:44
Bonjour,

j'ai deux bytes
a=01 et b=10
ce que j'essaie de faire c'est de mettre les deux bytes ensemble dans un même byte
exemple:
c=0110 (qui est la concaténation de a et b)
est ce que vous avez une idée de comment faire en C# ?

merci d'avance.
A voir également:

6 réponses

blux Messages postés 26748 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 29 mars 2025 3 332
26 nov. 2009 à 19:09
Salut,

c = a*100 + b ?

Mais je crains que tu n'aies des soucis, puisqu'un type 'byte' ne stocke que sur 8 bits. Ta variable en sortie en demande 16...
0
DarKcYbeR Messages postés 98 Date d'inscription mercredi 2 mai 2007 Statut Membre Dernière intervention 15 février 2011 8
26 nov. 2009 à 19:19
merci pour avoir répondu aussi vite,
et oui il y a un problème, d'ailleurs en écrivant ça:

byte[] tab = new byte[3];
tab[0] = 11;
tab[1] = 01;
tab[2] = (byte)(100*tab[0] + tab[1]);
System.Console.WriteLine("tab[2]=" + (tab[2]));

j'obtiens en sortie "77", ce qui n'est clairement pas ce que je cherche à avoir ...
0
blux Messages postés 26748 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 29 mars 2025 3 332
26 nov. 2009 à 19:27
déjà, y'a confusion entre tab[0] et tab[1], pour l'addition, ça fait l'effet inverse :

11 * 100 + 01 = 1101
01*100 + 11 = 111

et pour le reste, je sais pas, je vais manger ;-)
0
DarKcYbeR Messages postés 98 Date d'inscription mercredi 2 mai 2007 Statut Membre Dernière intervention 15 février 2011 8
26 nov. 2009 à 19:31
lol, bon app :)
ceci dit, pour la confusion, c'en était pas une, c'est bien ce que je cherche a faire
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
DarKcYbeR Messages postés 98 Date d'inscription mercredi 2 mai 2007 Statut Membre Dernière intervention 15 février 2011 8
26 nov. 2009 à 20:43
up
0
blux Messages postés 26748 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 29 mars 2025 3 332
26 nov. 2009 à 20:44
ceci dit, pour la confusion, c'en était pas une, c'est bien ce que je cherche a faire
C'est l'inverse de ce que tu expose en <1>...

j'obtiens en sortie "77", ce qui n'est clairement pas ce que je cherche à avoir ...
Sur un byte tu seras limité à 255, alors que 1101 nécessite 11 bits pour le codage, soit un double-byte.
0