2016-12-03 | Paul Boddie | file changeset files shortlog | Implemented the inversion operator for integers. |
paul@306 | 1 | i = 2 ** 30 |
paul@307 | 2 | print i # 1073741824 |
paul@306 | 3 | |
paul@306 | 4 | j = -2 ** 30 |
paul@307 | 5 | print j # -1073741824 |
paul@306 | 6 | |
paul@307 | 7 | print i + j # 0 |
paul@306 | 8 | |
paul@306 | 9 | try: |
paul@306 | 10 | print i - j |
paul@306 | 11 | except OverflowError: |
paul@306 | 12 | print "i - j: overflow occurred" |
paul@306 | 13 | |
paul@307 | 14 | print i / i # 1 |
paul@307 | 15 | print i / j # -1 |
paul@307 | 16 | print j / j # 1 |
paul@307 | 17 | print j / i # -1 |
paul@306 | 18 | |
paul@306 | 19 | try: |
paul@306 | 20 | print i * j |
paul@306 | 21 | except OverflowError: |
paul@306 | 22 | print "i * j: overflow occurred" |
paul@307 | 23 | |
paul@307 | 24 | print i - i # 0 |
paul@307 | 25 | print j - j # 0 |
paul@307 | 26 | print ~j # 1073741823 |
paul@307 | 27 | print i & ~j # 0 |
paul@307 | 28 | print i - 1 & ~j # 1073741823 |