• [^] # Re: au hasard ...

    Posté par . En réponse au message deux char pour faire un short. Évalué à 3.

    En C, c'est faux. Le standard te dit qu'il fait au moins 8 bits de large (pour stocker jusqu'à 2^7-1). Mais il peut faire plus.


    Sauf qu'ici, il y a de bonnes chances pour qu'il fasse effectivement huit bits, et que son format provoque des effets de bord. Chaque chose en son temps ...

    Mauvaise idée...


    Si tu avais lu mon commentaire jusqu'au bout, et celui qui suit avec, tu serais tombé sur :

    Enfin, tu essaies d'être propre et portable, tu oublies la dernière proposition et tu fais man ntohs.

    Sinon

    unsigned char test1, test2;
    unsigned short result = (((unsigned short)test1) <<8) | test2;