Via de com-poort krijg ik steeds twee bytes binnen, die samen één waarde bevatten. Een voorbeeld:
Het getal 861 wordt via een uP weggestuurd, verdeeld over trwee bytes. Dit komt neer op een byte met de waarde 00000011 (=3) en een tweede byte met 01011101 (=93)..
Nu krijg ik deze in mijn java applicatie binnen als twee integers.. Hoe krijg ik het nu voor elkaar dat ik deze twee waarden weer samenvoeg tot één integer??
Wat ik nu heb:
Maar het probleem hiermee is dat de tweede string de "0" aan het begin weggooit, waardoor s3 "111011101" wordt ipv "" 1101011101"..
Hoe kan ik ervoor zorgen dat die strings altijd ter grootte van 8bits blijven??
PS: de eerste gestuurde byte is bevat dus de MSB van het hele getal..
Het getal 861 wordt via een uP weggestuurd, verdeeld over trwee bytes. Dit komt neer op een byte met de waarde 00000011 (=3) en een tweede byte met 01011101 (=93)..
Nu krijg ik deze in mijn java applicatie binnen als twee integers.. Hoe krijg ik het nu voor elkaar dat ik deze twee waarden weer samenvoeg tot één integer??
Wat ik nu heb:
Java:
1
2
3
4
5
6
7
8
| int temp1 = 3; int temp2 = 93; String s1 = Integer.toBinaryString(temp1); String s2 = Integer.toBinaryString(temp2); String s3 = s1 + s2; int temp3 = Integer.parseInt(s3, 2); |
Maar het probleem hiermee is dat de tweede string de "0" aan het begin weggooit, waardoor s3 "111011101" wordt ipv "" 1101011101"..
Hoe kan ik ervoor zorgen dat die strings altijd ter grootte van 8bits blijven??
PS: de eerste gestuurde byte is bevat dus de MSB van het hele getal..