Når man laver en beregning i C og C++ er resultatet af samme type som den største type der indgår i beregningen, dog altid mindst int.
256 er af typen int, så msb*256 er af typen int hvis msb er af typen char, short eller int, og long eller double hvis msb er hhv long eller double.
dvs der behøves ikke nogen konvertering af 256 eller msb hvis resultatet kan holdes i en int, hvis ikke skal man caste msb eller 256 til en long (eller hvad der nu passer).
Jeg har en mistanke om at msb og lsb er af typen char, og man ønsker at forme en int (short) der består af disse dele. I så fald vil man ofte bruge:
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.