Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def bit(val, n):
- return (val >> n) & 1
- def tdms_encode(data):
- ones = 0
- for i in range(0, 8):
- if bit(data, i):
- ones += 1
- if ones > 4 or (ones == 4 and ((data & 1) == 0)):
- b8 = 0
- nb8 = 1
- else:
- b8 = 1
- nb8 = 0
- result = data & 1
- for i in range(1, 8):
- result |= (bit(result, i - 1) ^ bit(data, i) ^ nb8) << i
- return result | (b8 << 8)
- def count_transistions(val):
- count = 0
- for i in range(1,9):
- if bit(val, i - 1) != bit(val, i):
- count += 1
- return count
- max_transitions = 0
- for i in range(0,256):
- data = tdms_encode(i)
- x = count_transistions(data)
- if x > max_transitions:
- max_transitions = x
- # print(i, bin(x), x)
- print max_transitions
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement