Diff of /python/maths3.py [000000] .. [a32498]

Switch to unified view

a b/python/maths3.py
1
import struct
2
3
# print(struct.unpack('>i', ''.join([chr(242), chr(108)])))
4
5
bit_list = []
6
7
level = 0
8
(chr(108), 29)
9
for char, byte in [(chr(108), 29), (chr(253), 28)]:
10
    level = 0
11
    print(byte)
12
    bit_list = []
13
    for i in range(232, 240, 1):
14
        print(i)
15
        level <<= 1
16
        print(level)
17
        o = i % 8
18
        bit_list.append(chr(ord(char) >> o & 1))
19
        level += ord(char) >> o & 1
20
    print(bit_list)
21
    print(level)
22
    print(struct.unpack('>ii', ''.join(bit_list)))
23
    print(struct.unpack('>ff', ''.join(bit_list)))
24
    print(struct.unpack('hhhh', ''.join(bit_list)))
25
    print(struct.unpack('d', ''.join(bit_list)))
26
    print(struct.unpack('l', ''.join(bit_list)))
27
    bit_list = []
28
    level = 0
29
30
    for i in range(239, 231, -1):
31
        print(i)
32
        level <<= 1
33
        print(level)
34
        o = i % 8
35
        bit_list.append(chr(ord(char) >> o & 1))
36
        level += ord(char) >> o & 1
37
    print(bit_list)
38
    print(level)
39
    print(struct.unpack('ii', ''.join(bit_list)))
40
    print(struct.unpack('ff', ''.join(bit_list)))
41
    print(struct.unpack('hhhh', ''.join(bit_list)))
42
    print(struct.unpack('d', ''.join(bit_list)))
43
    print(struct.unpack('l', ''.join(bit_list)))
44
    bit_list = []
45
    for i in range(224, 232, 1):
46
        print(i)
47
        level <<= 1
48
        print(level)
49
        o = i % 8
50
        bit_list.append(chr(ord(char) >> o & 1))
51
        level += ord(char) >> o & 1
52
    print(bit_list)
53
    print(level)
54
    print(struct.unpack('ii', ''.join(bit_list)))
55
    print(struct.unpack('ff', ''.join(bit_list)))
56
    print(struct.unpack('hhhh', ''.join(bit_list)))
57
    print(struct.unpack('d', ''.join(bit_list)))
58
    print(struct.unpack('l', ''.join(bit_list)))
59
    level = 0
60
61
    bit_list = []
62
    for i in range(231, 223, -1):
63
        print(i)
64
        level <<= 1
65
        print(level)
66
        o = i % 8
67
        bit_list.append(chr(ord(char) >> o & 1))
68
        level += ord(char) >> o & 1
69
    print(bit_list)
70
    print(level)
71
    print(struct.unpack('ii', ''.join(bit_list)))
72
    print(struct.unpack('ff', ''.join(bit_list)))
73
    print(struct.unpack('hhhh', ''.join(bit_list)))
74
    print(struct.unpack('d', ''.join(bit_list)))
75
    print(struct.unpack('l', ''.join(bit_list)))
76
"""
77
    print(struct.unpack('ii', ''.join(bit_list)))
78
79
    print(struct.unpack('>ii', ''.join(bit_list)))
80
81
    print(struct.unpack('hhhh', ''.join(bit_list)))
82
83
    print(struct.unpack('>hhhh', ''.join(bit_list)))
84
85
    print(struct.unpack('ff', ''.join(bit_list)))
86
87
    print(struct.unpack('>ff', ''.join(bit_list)))
88
89
    print(struct.unpack('d', ''.join(bit_list)))
90
91
    print(struct.unpack('>d', ''.join(bit_list)))
92
    bit_list = []
93
    for i in range(8):
94
        level <<= 1
95
        print(level)
96
        bit_list.append(chr(ord(byte) >> i & 1))
97
        print(bit_list)
98
        if sys.version_info >= (3, 0):
99
            level |= (byte >> i * 8) & 1
100
        else:
101
            level |= (ord(chr(105)) >> i) & 1
102
103
    print(struct.unpack('ii', ''.join(bit_list)))
104
105
    values = struct.unpack('>ii', ''.join(bit_list))
106
    value_1 = struct.pack('<i', values[0])
107
    value_2 = struct.pack('<i', values[1])
108
    print(value_1)
109
    print('------------')
110
    print(struct.unpack('ff', value_1 + value_2))
111
    print(struct.unpack('hhhh', ''.join(bit_list)))
112
113
    print(struct.unpack('>hhhh', ''.join(bit_list)))
114
115
    print(struct.unpack('ff', ''.join(bit_list)))
116
117
    print(struct.unpack('>ff', ''.join(bit_list)))
118
119
    print(struct.unpack('d', ''.join(bit_list)))
120
121
    print(struct.unpack('>d', ''.join(bit_list)))
122
123
print(256 * 0.51)
124
125
value = struct.pack('>f', 2048.00)
126
print(struct.unpack('>hh', value))
127
print(struct.unpack('>l', value))
128
value_2 = struct.unpack('hh', value)
129
value_3 = struct.pack('i', value_2)
130
print(value_3)
131
"""