Reputation: 3982
Is there a way to show the representation of an int in bits in c#?
i.e.
1 = 00001
20 = 10100
etc.
I have tried using BitConverter with no luck. This should be simple, but I can't find a solution!
Upvotes: 1
Views: 578
Reputation: 9308
You could also look at using a BitArray.
var array = new BitArray(BitConverter.GetBytes(1));
Upvotes: 1
Reputation: 149068
Here's a one-liner using linq:
var myint = 20;
var bytes = Enumerable.Range(0, 32).Select(b => (myint >> b) & 1);
// { 0, 0, 1, 0, 1, 0 ... }
Of course this is in reverse order, to swap it around just use:
var myint = 20;
var bytes = Enumerable.Range(0, 32).Select(b => (myint >> (31 - b)) & 1);
// { ..., 0, 1, 0, 1, 0, 0 }
Upvotes: 2
Reputation: 180908
Converts the value of a 32-bit signed integer to its equivalent string representation in a specified base. Specify 2 for the base.
Upvotes: 7