Concaténation de bytes en c#

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.

6 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    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...
    1. 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 ...
      1. Modérateur
        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 ;-)
        1. lol, bon app :)
          ceci dit, pour la confusion, c'en était pas une, c'est bien ce que je cherche a faire
          1. Modérateur
            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.