right-shifting problem

E

eli.hen

Hi,

I want to combine 2 different bytes into an integer, so that 1 byte
will be to the left of the second byte.

example:
byte[2] b;
b[0] = 0xE5;
b[1] = 0x35;
I want to get the unsigned number of 0xE535 (=58677), so I did:
int num = (b[0] << 8) | b[1];
But I got the negative number -6859.

How can I get the desired result (58677)?

-thanks, Eli
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,764
Messages
2,569,564
Members
45,039
Latest member
CasimiraVa

Latest Threads

Top