Monday 15 March 2010

Binary operation in C -



Binary operation in C -

i have 2 characters

char c1='a', c2 = 'b';

since 8-bit binary of a 01000001 , binary of b 01000010. want left-most bit of b set right-most bit of a c1 becomes 01000000. doing calculating binaries , b , geting new binary , doing described process , assigning new binary c1. question whether there there efficient way this?

the leftmost bit of c2 is:

c2 & 0x80

to move rightmost bit, utilize right-shift:

(c2 & 0x80) >> 7

to combine c1, first have clear out rightmost bit of c1:

(c1 & 0xfe)

then combine them |:

c1 = (c1 & 0xfe) | ((c2 & 0x80) >> 7);

you should alter declarations unsigned char avoid problems sign bit. it's best utilize unsigned variables when using bitwise operations.

c binary char

No comments:

Post a Comment