Advertisement
Guest User

Untitled

a guest
Mar 28th, 2020
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. def AND(a, b):
  2. if a == 1 and b == 1:
  3. return 1
  4. return 0
  5.  
  6. def NOT(a):
  7. if a == 1:
  8. return 0
  9. elif a == 0:
  10. return 1
  11.  
  12. def XOR(a, b):
  13. if a == 1 and b == 1:
  14. return 0
  15. return 1
  16.  
  17. def OR(a, b):
  18. if a == 1 or b == 1:
  19. return 1
  20. return 0
  21.  
  22. def HALF_ADD(p, q):
  23. # Add bits through half adder
  24. a = AND(p, q)
  25. o = OR(p, q)
  26. return (a, AND(NOT(a), o))
  27.  
  28. def FULL_ADD(p, q, r):
  29. # Add 3 bits through full adder
  30. c1 = HALF_ADD(p, q)[0]
  31. s1 = HALF_ADD(p, q)[1]
  32. c2 = HALF_ADD(s1, r)[0]
  33. s2 = HALF_ADD(s1, r)[1]
  34. return OR(c1, c2), s2
  35.  
  36. def main():
  37. # 0 1
  38. # CarryOut, Sum
  39. a = [0, 1, 0] # 4 2 1
  40. b = [1, 1, 1] # 4 2 1
  41. sum1 = HALF_ADD(a[2], b[2])[1]
  42. c1 = HALF_ADD(a[2], b[2])[0]
  43. sum2 = FULL_ADD(a[1], b[1], c1)[1]
  44. c2 = FULL_ADD(a[1], b[1], c1)[0]
  45. sum3 = FULL_ADD(a[0], b[0], c2)[1]
  46. c3 = FULL_ADD(a[0], b[0], c2)[0]
  47. '''
  48. print("Sum1 is: ", sum1)
  49. print("c1 is: ", c1)
  50. print("Sum2 is: ", sum2)
  51. print("c2 is: ", c2)
  52. print("Sum3 is: ", sum3)
  53. print("c3 is: ", c3)
  54. '''
  55. print(a)
  56. print("+++")
  57. print(b)
  58. print("results in:")
  59. print(c3, sum3, sum2, sum1)
  60. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement