fork download
  1. def bits_to_mask(n):
  2. if n < 0 or n > 32:
  3. raise ValueError('Bit count must be between 0 and 32')
  4. mask = (~((1 << (32 - n)) - 1)) & 0xFFFFFFFF
  5. return '.'.join(map(str, ((mask >> (8 * i)) & 0xFF for i in range(3, -1, -1))))
  6.  
  7. print(bits_to_mask(0))
  8. print(bits_to_mask(12))
  9. print(bits_to_mask(24))
  10. print(bits_to_mask(29))
  11. print(bits_to_mask(32))
Success #stdin #stdout 0.04s 9380KB
stdin
Standard input is empty
stdout
0.0.0.0
255.240.0.0
255.255.255.0
255.255.255.248
255.255.255.255