-
Notifications
You must be signed in to change notification settings - Fork 25
Expand file tree
/
Copy pathbinaryconv.py
More file actions
112 lines (90 loc) · 2.14 KB
/
binaryconv.py
File metadata and controls
112 lines (90 loc) · 2.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# binary conversion and other math functions for lecture 3
import math
def bin2dec(bin):
dec = 0
for b in range(len(bin)):
dec = dec + (2**(len(bin)-b-1)) * int(bin[b])
return dec
def dec2bin(dec):
bin = ""
while dec > 0:
bit = str(dec % 2)
bin = bit + bin
dec = dec // 2
return bin
def binTable(dec):
for n in range(1,dec+1):
bn = dec2bin(n)
print(n,"\t",bn)
def testDecBin(dec):
bin = dec2bin(dec)
bdec = bin2dec(bin)
if bdec == dec:
print(dec,bin,"OK")
else:
print(dec,bin,bdec,"ERROR")
def sum(n):
s = 0
for k in range(1,n+1):
s = s + k
return s
def factorial(n):
fac = 1
for k in range(2,n+1):
fac = fac * k
return fac
def precisionLoss(n,iters):
c = n
for i in range(iters):
r = c/3
c = 3*r
print(c)
def swedish(d):
return int(d + 0.5)
def approxPi(n):
div = 1
sign = 1
pi = 0
for k in range(n):
pi = pi + 4/div
sign = - sign
div = sign * (abs(div) + 2)
return pi
def quadraticEq(a,b,c):
discr = b**2 - 4*a*c
if discr < 0:
return []
elif discr == 0:
return [-b/(2*a)]
else:
rdiscr = math.sqrt(discr)
return [(-b - rdiscr)/(2*a), (-b + rdiscr)/(2*a)]
def multiTable(n):
for x in range(1,n+1):
row = ""
for y in range(1,n+1):
row = row + "\t" + str(x*y)
print(row)
def hypotenuse(a,b):
return math.sqrt(a*a + b*b)
def pythagoreans(mx):
for c in range(mx):
for b in range(1,c):
for a in range(1,b):
if a*a + b*b == c*c:
print(a,b,c,":",a*a,"+",b*b,"=",c*c)
def newton(r,n):
guess = r/2
for i in range(n):
guess = (guess + r/guess)/2
print(guess, "\terror:\t", math.sqrt(r)-guess)
return guess
######### for later use
def quicksort(xs):
if xs:
pivot = xs[0]
return (quicksort([x for x in xs[1:] if x <= pivot])
+ [pivot]
+ quicksort([x for x in xs[1:] if x > pivot]))
else:
return xs