system
1
Hey guys,
I have two 4 bit numbers but I want to "combine" (lack of a better word) these into one 8 bit
For example:
firstnumber = 1010
secondnumber = 1100
I want to put these together literally like:
10101100
How do I do this?
And also, if I and that 8 bit number with 15, will I get the firstnumber? And therefore anding with 240, get the second number?
Cheers, Harris
holmes4
2
first number*8+second number
Mark
system
3
Actually, it would be firstnumber * 16 + secondnumber.
Although this may be more reliable:
result = (firstnumber & 0x0f) << 4 | (secondnumber & 0x0f)
Therefore:
secondnumber = result & 0x0f
firstnumber = (result & 0xf0) >> 4
system
4
I tried Marks method and was wondering why it didnt seem to work, I then tried your method zeb and it worked great! Thanks a bunch as per guys
zeb99:
Actually, it would be firstnumber * 16 + secondnumber.
Although this may be more reliable:
result = (firstnumber & 0x0f) << 4 | (secondnumber & 0x0f)
Therefore:
secondnumber = result & 0x0f
firstnumber = (result & 0xf0) >> 4
Now that is a complete answer. C can be so nice and concise if you let it be.
Mark meant well, just having a bad hair day.
Lefty
system
6
retrolefty:
zeb99:
Actually, it would be firstnumber * 16 + secondnumber.
Although this may be more reliable:
result = (firstnumber & 0x0f) << 4 | (secondnumber & 0x0f)
Therefore:
secondnumber = result & 0x0f
firstnumber = (result & 0xf0) >> 4
Now that is a complete answer. C can be so nice and concise if you let it be.
Mark meant well, just having a bad hair day.
Lefty
No need to worry! I definitely appreciate the help from both
system
7
Glad to have been of assistance.
holmes4
8
Opps, It was the red wine
Mark