combiner/fusionner deux octets dans un...?
Je travail avec un numéro de série de cadres. Je suis la réception d'une valeur de 16 bits en deux 8-bits. Comment puis-je fusionner tampon[0] avec tampon[1]? Je ne veux pas 0b01+0b10 = 12 (base 10). Je le veux à l'égalité 258.
Comment puis-je y arriver?
0b01+ 0b10 = 0b11 = 3 (base 10). Que demandez-vous?
peut-être qu'il voulait dire 1 + 2 😉
peut-être qu'il voulait dire 1 + 2 😉
OriginalL'auteur Jay Kim | 2012-06-25
Vous devez vous connecter pour publier un commentaire.
Cette réponse est correcte, en supposant qu'il est connu que
byte1
est l'octet de poids fort, etbyte2
est l'octet de poids faibleJ'ai changé les noms de variable afin de refléter la haute et la basse octets.
Je ne vois pas pourquoi pas, le résultat ne sera pas adapté à un u_int8_t de cours. Il suffit de l'essayer.
ce n'est pas vrai. Tout comme avec de nombreux autres opérateurs de C, l'entier des promotions sont effectuées avant l'opération a lieu.
OriginalL'auteur diederikh