Advertisement
Guest User

Untitled

a guest
May 16th, 2013
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.70 KB | None | 0 0
  1.  
  2. def bit(val, n):
  3. return (val >> n) & 1
  4.  
  5. def tdms_encode(data):
  6. ones = 0
  7. for i in range(0, 8):
  8. if bit(data, i):
  9. ones += 1
  10.  
  11. if ones > 4 or (ones == 4 and ((data & 1) == 0)):
  12. b8 = 0
  13. nb8 = 1
  14. else:
  15. b8 = 1
  16. nb8 = 0
  17.  
  18. result = data & 1
  19. for i in range(1, 8):
  20. result |= (bit(result, i - 1) ^ bit(data, i) ^ nb8) << i
  21.  
  22. return result | (b8 << 8)
  23.  
  24.  
  25. def count_transistions(val):
  26. count = 0
  27. for i in range(1,9):
  28. if bit(val, i - 1) != bit(val, i):
  29. count += 1
  30. return count
  31.  
  32. max_transitions = 0
  33.  
  34. for i in range(0,256):
  35. data = tdms_encode(i)
  36. x = count_transistions(data)
  37. if x > max_transitions:
  38. max_transitions = x
  39. # print(i, bin(x), x)
  40.  
  41. print max_transitions
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement