Hi,
The issue is: how to convert hex mask to bit mask? For instance:
I have 0xffff0000 -> it can be represent by 255.255.0.0 or by string
of bits - 16
My question is how to convert such hexes to bit mask (the 16 in above
example)
Thanks in advance,
Have a nice day
On Tue, May 6, 2008 at 6:29 AM, Marcin T. [email protected] wrote:
Thanks in advance,
Have a nice day
irb(main):001:0> 0xffff0000.to_s(2) =~ /0*$/
=> 16
Untested for other masks.
hth,
Todd
On 06.05.2008 13:29, Marcin T. wrote:
The issue is: how to convert hex mask to bit mask? For instance:
I have 0xffff0000 -> it can be represent by 255.255.0.0 or by string
of bits - 16
Not sure what exactly you mean by this. Do you want to count 1’s?
Here are some things you can do:
irb(main):001:0> c = 0xffff0000
=> 4294901760
irb(main):002:0> c.to_s(2)
=> “11111111111111110000000000000000”
irb(main):003:0> c.to_s(2).length
=> 32
Bit access:
irb(main):004:0> c[0]
=> 0
irb(main):005:0> c[20]
=> 1
My question is how to convert such hexes to bit mask (the 16 in above
example)
Cheers
robert
On Tue, May 6, 2008 at 12:10 PM, Robert K.
[email protected] wrote:
On 06.05.2008 13:29, Marcin T. wrote:
The issue is: how to convert hex mask to bit mask? For instance:
I have 0xffff0000 → it can be represent by 255.255.0.0 or by string
of bits - 16
Not sure what exactly you mean by this. Do you want to count 1’s?
I think Marcin wants to eventually convert/print out to shorthand the
representation of an IPV4 address, like how “192.168.1.9/24” means
“192.168.1.9 with netmask 255.255.255.0”, /8 means a 255.0.0.0 mask,
etc.
That was my interpretation anyway.
Todd
Todd
On 06.05.2008 21:25, Todd B. wrote:
I think Marcin wants to eventually convert/print out to shorthand the
representation of an IPV4 address, like how “192.168.1.9/24” means
“192.168.1.9 with netmask 255.255.255.0”, /8 means a 255.0.0.0 mask,
etc.
That was my interpretation anyway.
Sounds reasonable. Marcin?
robert