blob: d758d9889c345fe4e9a51a2c8db837be48bf19af (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#!/usr/bin/env python3
numbers = [ 2, 4, 3 ]
print("numbers", numbers)
n = sorted(numbers)
pair = [ (n[i], n[j]) for i in range(len(n))
for j in range(i, len(n)) if n[i] is not n[j] ]
bit_sum = 0
for i, j in pair:
bin_i = "{0:032b}".format(i)
bin_j = "{0:032b}".format(j)
diff = 0
for k in range(len(bin_i)):
if bin_i[k] is not bin_j[k]: diff += 1
bit_sum += diff
print("{1} = {0}\n{3} = {2}\nf({0}, {2}) = {4}\n".format(i, bin_i, j, bin_j, diff))
print("bit sum = {}".format(bit_sum));
|