0

I was looking at bit-manipulation in python. I noticed that every time I shifted over the bit representation of an integer it continued to work. How does this work in python and is it safe? Will this cause a memory overflow at some point? Here's a sample test I ran to see if I could keep going. https://repl.it/KPp2/0

    value = (1 << 20)
    print "20 bits", value, value.bit_length()
    value <<= 12
    print "32 bits", value, value.bit_length()
    value <<= 12
    print "44 bits", value, value.bit_length()
    value <<= 20
    print "64 bits", value, value.bit_length()
    value <<= 8
    print "72 bits", value, value.bit_length()
    value <<= 56
    print "128 bits", value, value.bit_length()
    value <<= 128
    print "256 bits", value, value.bit_length()
    value <<= 256
    print "512 bits", value, value.bit_length()
    value <<= 512
    print "1024 bits", value, value.bit_length()
user3509528
  • 97
  • 10

0 Answers0