#!/usr/bin/python
import sys;
import decimal
import fractions;
# int
n1 = 10;
print type(n1);
# long
n3 = 100L;
print type(n3);
# float
n2 = 3.14;
print type(n2);
#print sys.float_info;
# complex
n4 = complex(5, 10);
print type(n4);
print n4, n4.real, n4.imag;
# fraction
n5 = fractions.Fraction(1, 2);
print type(n5);
# decimal
n8 = decimal.Decimal('0.1');
print type(n8);
#!/usr/bin/python
# int
n1 = 10;
n2 = 3;
print n1+n2;# 13
print n1-n2;# 7
print n1*n2;# 30
print n1/n2;# 3
print n1//n2;# 3
print n1%n2;# 1
print divmod(n1, n2);# (3, 1)
print pow(n1, n2);# 1000
print n1**n2;# 1000
#!/usr/bin/python
# float
n1 = 3.14;
n2 = 2.0;
print n1+n2;# 5.14
print n1-n2;# 1.14
print n1*n2;# 6.28
from __future__ import division; # include both / and //
print n1/n2;# 1.57, true division
print n1//n2;# 1, floor division
print n1%n2;# 1.14
print divmod(n1, n2);# (1, 1.14)
print pow(n1, n2);# 9.8596
print n1**n2;# 9.8596
#!/usr/bin/python
x = 5;
y = 10;
print bin(x);#101
print bin(y);#1010
print 'or: ', x|y, bin(x|y);#15, 1111
print 'and: ', x&y, bin(x&y);#0, 0
print 'exclusive: ', x^y, bin(x^y);#15, 1111
print 'shifted left: ', x<<2, bin(x<<2), x;#20, 10100, 5
print 'shifted right: ', x>>2, bin(x>>2), x;#1, 1, 5
print 'bit length: ', x.bit_length(), y.bit_length();#3 4
print 'not: ', ~x, bin(~x);#-6, -110