KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
In C#, I have a 32 bit value which I am storing in an int. I need to see if a particular bit is set. The bit I need is 0x00010000 . I came up with this solution: Here is what I am looking for: Hex: 0 0 0 1 0 0 0 0 0 Binary 0000|0000|0000|0001|0000|0000|0000|0000|0000 So I right bit shift 16, which would give me: Hex: 0 0 0 0 0 0 0 0 1 Binary 0000|0000|0000|0000|0000|0000|0000|0000|0001 I then bit shift left 3, which would give me: Hex: 0 0 0 0 0 0 0 0 8 Binary 0000|0000|0000|0000|0000|0000|0000|0000|1000 I then case my 32 bit value to a byte, and see if it equals 8. So my code would be something like this: int value = 0x102F1032; value = value >> 16; byte bits = (byte)value << 3; bits == 8 ? true : false; Is there a simpler way to check if a particular bit is set without all the shifting?
Tags (comma-separated)
Save Edits
Cancel