2016-12-14 | Paul Boddie | file changeset files shortlog | Attempt to interpret plain string literals as Unicode, returning constant types when encoding their values. Propagated the file encoding from the parser to each module in order to attempt string value interpretations. |
paul@309 | 1 | import sys |
paul@309 | 2 | |
paul@309 | 3 | print sys.maxint |
paul@309 | 4 | print sys.minint |
paul@309 | 5 | |
paul@309 | 6 | print sys.maxint + sys.minint |
paul@309 | 7 | |
paul@306 | 8 | i = 2 ** 30 |
paul@307 | 9 | print i # 1073741824 |
paul@374 | 10 | print hex(i) # 0x40000000 |
paul@374 | 11 | print oct(i) # 010000000000 |
paul@306 | 12 | |
paul@306 | 13 | j = -2 ** 30 |
paul@307 | 14 | print j # -1073741824 |
paul@374 | 15 | print hex(j) # -0x40000000 |
paul@374 | 16 | print oct(j) # -010000000000 |
paul@306 | 17 | |
paul@307 | 18 | print i + j # 0 |
paul@306 | 19 | |
paul@306 | 20 | try: |
paul@306 | 21 | print i - j |
paul@306 | 22 | except OverflowError: |
paul@306 | 23 | print "i - j: overflow occurred" |
paul@306 | 24 | |
paul@307 | 25 | print i / i # 1 |
paul@307 | 26 | print i / j # -1 |
paul@307 | 27 | print j / j # 1 |
paul@307 | 28 | print j / i # -1 |
paul@306 | 29 | |
paul@306 | 30 | try: |
paul@306 | 31 | print i * j |
paul@306 | 32 | except OverflowError: |
paul@306 | 33 | print "i * j: overflow occurred" |
paul@307 | 34 | |
paul@307 | 35 | print i - i # 0 |
paul@307 | 36 | print j - j # 0 |
paul@307 | 37 | print ~j # 1073741823 |
paul@307 | 38 | print i & ~j # 0 |
paul@307 | 39 | print i - 1 & ~j # 1073741823 |
paul@374 | 40 | |
paul@374 | 41 | print hex(31) # 0x1f |
paul@374 | 42 | print oct(31) # 037 |