getting bit on bytes

S

shawn bright

hey there all, i have a question concerning making numbers from bytes
and back agian

if i have some numbers:
lo byte = 192
hi byte = 176
i can get the number 12480 like this:
(176 & 127) * 256 + 192 = 12480


but if i start with the 12480, how do i get the two bytes (lo and hi)
that make it up?

i kinda know what i am doing here, but keep getting tripped up

thanks
 
G

Gregory Seidman

hey there all, i have a question concerning making numbers from bytes
and back agian

if i have some numbers:
lo byte = 192
hi byte = 176
i can get the number 12480 like this:
(176 & 127) * 256 + 192 = 12480

It's usually written (176 << 8) + 192, and I don't know why you want to
zero out the high bit if you claim that the high byte is the high byte.
but if i start with the 12480, how do i get the two bytes (lo and hi)
that make it up?

hi = 255 & (12480 >> 8)
lo = 255 & 12480
i kinda know what i am doing here, but keep getting tripped up
thanks
--Greg
 
S

shawn bright

well, it's very strange to me too.

you see, we are reading info from sensors through a serial port, as
the message comes in, i collect all the bytes into an array msg_list
the id number of the sensor, i get like this.
sensor = (msg_list[1] & 127) * 256 + msg_list[0]

so, now my challenge is to write commands back to the sensor so i need
to take the sensor number that we have in the database and create the
bytes out of it to write to the port.

i don't know exactly why the first byte is masked in the msb. I just
did it because their docs told me to.

thanks
 

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,744
Messages
2,569,483
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top