Public Group

#### Archived

This topic is now archived and is closed to further replies.

# Turning off a bit

This topic is 5830 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

I feel stupid that I can''t seem to figure this out, but how do I turn off just one bit in a larger number? For example: If I have the number 00110001 (49) and I want to set bit 2 to 1, I know I can just use the inclusive or (|) with 00000100 (4) and it ends up 00110101 (53), which is what I want. What if I want to do it the other way around though? What if I wanted to, say, turn the first bit off instead? How would I turn 00110001 (49) to 00110000 (48)? I''ve tried using ^, but that has the nasty habit of switching the bit from on to off AND from off to on. Is there any way I can turn it OFF only, and leave it alone if it''s already on? It''s easy the other way around, and it annoys me that I can''t find a way here. I could just do if ((number&(1<

##### Share on other sites
set: x |= mask;
clear: x &= ~mask;

##### Share on other sites
Wow, that was fast! Anyway, thanks a million. I''m not sure why I missed that.

-Arek the Absolute

##### Share on other sites
You could do it by applying a not on the bit. This turns it off.

00000001 NOT 1 = 00000000

1. 1
Rutin
28
2. 2
3. 3
4. 4
5. 5

• 11
• 13
• 11
• 10
• 13
• ### Forum Statistics

• Total Topics
632952
• Total Posts
3009438
• ### Who's Online (See full list)

There are no registered users currently online

×