Partage
  • Partager sur Facebook
  • Partager sur Twitter

concatener des variables en C

Sujet résolu
    23 mars 2022 à 11:23:46

    Bonjour, je suis sur un projet et j'aurais besoin de concaténer deux variables en hexa pour que ça donne un truc comme ça:

    int a=0xB1;

    int b=0xC8;

    et je veux int C=0xB1C8;

    j'ai essayer avec un décalage à gauche de 8 bits et un ou logique

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        printf("Hello World\n");
        int val1,val2,toto;
        val1=0xB1;
        val2=0xC8;
    
       // je veux: toto=0xB1C8
    
        val1<<8;
        toto=(val1||val2);
        printf("toto vaut: %X",toto);
        return 0;
    }
    


    mais ça ne fonctionne pas, ça me retourne '1', quelqu'un à une idée? merci!

    -
    Edité par FaroukMakerri1 23 mars 2022 à 11:28:14

    • Partager sur Facebook
    • Partager sur Twitter
      23 mars 2022 à 11:35:58

      #include <stdio.h>
      #include <stdlib.h>
      
      int main()
      {
          printf("Hello World\n");
          int val1,val2,toto;
          val1=0xB1;
          val2=0xC8;
      
          val1 = val1<<8;
          toto = val1|val2;
          
          printf("toto vaut: %X", toto);
          return 0;
      }
      • Partager sur Facebook
      • Partager sur Twitter
      ...
        23 mars 2022 à 11:40:48

        rouIoude a écrit:

        #include <stdio.h>
        #include <stdlib.h>
        
        int main()
        {
            printf("Hello World\n");
            int val1,val2,toto;
            val1=0xB1;
            val2=0xC8;
        
            val1 = val1<<8;
            toto = val1|val2;
            
            printf("toto vaut: %X", toto);
            return 0;
        }

        MERCI TU ME SAUVEs!!! il suffisait d'indiquer "val1 =" et de retirer un | du ou logique😅

        -
        Edité par FaroukMakerri1 23 mars 2022 à 11:41:45

        • Partager sur Facebook
        • Partager sur Twitter
          23 mars 2022 à 11:46:32

          Oui, il faut affecter le résultat de l'opération à la variable !

          Et pour le OU, c'est un OU bit à bit, donc une seule barre verticale '|'   avec deux barre || ça renvoi 1 si au moins une des deux opérandes sont différente de 0 d'ou ton résultat à 1 !

          -
          Edité par rouIoude 23 mars 2022 à 11:47:53

          • Partager sur Facebook
          • Partager sur Twitter
          ...
            23 mars 2022 à 12:31:53

            c'est plus claire comme ça merci! j'avais même oublié que il y avait une différence entre | et ||
            • Partager sur Facebook
            • Partager sur Twitter

            concatener des variables en C

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown