How to set, clear ,toggle and check a single bit in C?
As being an embedded software engineer i would really suggest you this tricks. ..! In many application you need to deal with this bit wise operation. Sometimes you know this all stuff very well but still some time it takes time to construct this logic or some time you got some mistakes in it. so i suggest you to paste this on your desk until you paste this in your mind..!
To set a bit
Use the bitwise OR operator (|) to set a bit.
number |= 1 << x;
That will set bit x.
To clear a bit
Use the bitwise AND operator (&) to clear a bit.
number &= ~(1 << x);
That will clear bit x. You must invert the bit string with the bitwise NOT operator (~), then AND it.
To toggle a bit
The XOR operator (^) can be used to toggle a bit.
number ^= 1 << x;
That will toggle bit x.
To check state of a bit
To check a bit, AND it with the bit you want to check:
bit = number & (1 << x);
That will put the value of bit x into the variable bit.
NOTE : here x is the position of bit starting from 0 to LSB.
You may like to read this also....
2 Comments to “How to set, clear ,toggle and check a single bit in C?”
Post comment
Search in this website
our sponsors
latest comments
- shinto peter on How to configure mail from localhost ( wamp ) using PHP?
- tammylleanne on Implementation limitation of c programming language
- Deepak on How to access/unblock songs.pk in india?
- Deepak on How to access/unblock songs.pk in india?
- prk on How to access/unblock songs.pk in india?
Find us on Facebook
Top Authors
Find us on stackoverflow
Polls
My Bookmarks
- Audio/video Recorder & player application based on MATLAB
- check dependency of your binary
- defination of all standard c programming language function
- Great Question-Answer on c programming
- know what your c code means
- Limition of c programming language
- List of all version of c programming language
- Online c compiler
- php freelancing work
- some more stuff on C programming language
- Volatile Keyword in Embedded System
- Write Android application in c language
Hi there, just required you to know I he added your internet site to my Google bookmarks due to your layout. But seriously, I feel your net internet site has 1 in the freshest theme I??ve came across. It extremely helps make reading through your website significantly easier.
Seriously just one comment on such a good post ? There’s one question though. Why XOR ? Why not use the NOT operator ?