ИНБО-10-22

Вариант №1

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Десятичная строка.
0 1 2 11 12 13 18 J1 J2 J3 J4

Выходные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.

Тесты:

>>> main('464827')
{'J1': '3', 'J2': '494', 'J3': '1', 'J4': '56'}

>>> main('231804')
{'J1': '0', 'J2': '607', 'J3': '0', 'J4': '28'}

>>> main('348831')
{'J1': '3', 'J2': '167', 'J3': '1', 'J4': '42'}

>>> main('523394')
{'J1': '2', 'J2': '800', 'J3': '1', 'J4': '63'}

Вариант №2

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Десятичная строка.
0 4 5 14 15 19 I1 I2 I3 20 22 23 28 29 37 38 39 I3 I4 I5 I6

Выходные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.

Тесты:

>>> main('508084784628')
{'I1': '20', 'I2': '111', 'I3': '109', 'I4': '24', 'I5': '434', 'I6': '1'}

>>> main('555632452399')
{'I1': '15', 'I2': '793', 'I3': '140', 'I4': '60', 'I5': '10', 'I6': '2'}

>>> main('1091569445415')
{'I1': '7', 'I2': '849', 'I3': '55', 'I4': '13', 'I5': '497', 'I6': '3'}

>>> main('248525040780')
{'I1': '12', 'I2': '356', 'I3': '126', 'I4': '58', 'I5': '462', 'I6': '0'}

Вариант №3

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Десятичная строка.

0 8 9 12 13 16 17 I1 I2 I3 I4 18 22 23 28 29 34 I4 I5

Выходные данные:

Десятичная строка.

0 3 4 9 10 17 I2 I4 I1 18 19 24 25 30 31 34 I1 I5 I3

Тесты:

>>> main('400325937')
'6467405550'

>>> main('41667819')
'30067109846'

>>> main('521156875')
'2180263052'

>>> main('401103002')
'4319767372'

Вариант №4

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: целое.

Выходные данные:

Шестнадцатиричная строка.
0 9 10 18 E2 19 20 26 27 33 34 36 E2 E3 E4 E5

Тесты:

>>> main({'E2': 493, 'E3': 17, 'E4': 67, 'E5': 3})
'0xe1917b400'

>>> main({'E2': 818, 'E3': 20, 'E4': 103, 'E5': 3})
'0xf394cc800'

>>> main({'E2': 465, 'E3': 121, 'E4': 36, 'E5': 3})
'0xd27974400'

>>> main({'E2': 220, 'E3': 52, 'E4': 85, 'E5': 3})
'0xeab437000'

Вариант №5

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Целое.
0 5 6 11 12 13 14 15 16 22 V2 V3 V4 V5

Выходные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.

Тесты:

>>> main(4616510)
[('V2', '0x4'), ('V3', '0x3'), ('V4', '0x1'), ('V5', '0x46')]

>>> main(5425195)
[('V2', '0x20'), ('V3', '0x0'), ('V4', '0x3'), ('V5', '0x52')]

>>> main(6974959)
[('V2', '0x37'), ('V3', '0x2'), ('V4', '0x1'), ('V5', '0x6a')]

>>> main(3320540)
[('V2', '0x2b'), ('V3', '0x2'), ('V4', '0x2'), ('V5', '0x32')]

Вариант №6

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Целое.

0 7 8 11 12 15 S1 S2 S3 16 19 20 23 24 31 S3 S4 S5

Выходные данные:

Шестнадцатиричная строка.

0 7 8 15 S1 S5 16 23 24 27 28 31 S3 S2 S4

Тесты:

>>> main(3807701060)
'0xf84ee244'

>>> main(1827869463)
'0xf3316c17'

>>> main(2928936856)
'0x9740ae98'

>>> main(3407664324)
'0x14cdcbc4'

Вариант №7

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.

Выходные данные:

Десятичная строка.
0 8 9 18 19 22 M1 M2 M3 23 25 26 34 35 42 43 45 M3 M4 M5

Тесты:

>>> main([('M1', '0x7a'), ('M2', '0x334'), ('M3', '0x3f'), ('M4', '0x12c'), ('M5', '0x91')])
'5002328172666'

>>> main([('M1', '0x16c'), ('M2', '0x2de'), ('M3', '0x1a'), ('M4', '0x3e'), ('M5', '0x1a')])
'897527954796'

>>> main([('M1', '0x111'), ('M2', '0x107'), ('M3', '0x4b'), ('M4', '0x112'), ('M5', '0x99')])
'5275467255569'

>>> main([('M1', '0x3f'), ('M2', '0x3cc'), ('M3', '0x36'), ('M4', '0x1c1'), ('M5', '0xea')])
'8070339467327'

Вариант №8

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Десятичная строка.
0 8 9 10 11 20 21 23 24 25 26 Q1 Q2 Q3 Q4 Q5 Q6

Выходные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.

Тесты:

>>> main('70085860')
(228, 2, 429, 1, 0, 1)

>>> main('125235037')
(349, 3, 733, 3, 3, 1)

>>> main('47513046')
(470, 2, 671, 6, 2, 0)

>>> main('111522864')
(48, 2, 182, 5, 2, 1)

Вариант №9

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Десятичная строка.
0 1 2 3 4 5 6 15 16 19 Y1 Y3 Y4 Y5 Y6

Выходные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.

Тесты:

>>> main('1045041')
{'Y1': '0x1', 'Y3': '0x2', 'Y4': '0x1', 'Y5': '0x3c8', 'Y6': '0xf'}

>>> main('438676')
{'Y1': '0x0', 'Y3': '0x2', 'Y4': '0x0', 'Y5': '0x2c6', 'Y6': '0x6'}

>>> main('1034082')
{'Y1': '0x0', 'Y3': '0x0', 'Y4': '0x1', 'Y5': '0x31d', 'Y6': '0xf'}

>>> main('748845')
{'Y1': '0x1', 'Y3': '0x1', 'Y4': '0x1', 'Y5': '0x1b4', 'Y6': '0xb'}

Вариант №10

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Шестнадцатиричная строка.

0 1 10 11 19 20 21 22 24 25 D1 D2 D4 D5 D6

Выходные данные:

Десятичная строка.

0 1 2 11 12 13 14 16 17 25 D1 D6 D2 D4 D5

Тесты:

>>> main('0x128052e')
'76380'

>>> main('0x2dd343f')
'55423'

>>> main('0x6181be')
'25468'

>>> main('0x2b3f8a9')
'45395'

Вариант №11

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.

Выходные данные:

Десятичная строка.
0 2 3 4 5 6 15 16 18 X1 X2 X3 X4 X5

Тесты:

>>> main([('X1', '0x1'), ('X2', '0x0'), ('X3', '0x1'), ('X4', '0x0'), ('X5', '0x4d')])
'4945'

>>> main([('X1', '0x2'), ('X2', '0x0'), ('X3', '0x0'), ('X4', '0x0'), ('X5', '0x313')])
'50370'

>>> main([('X1', '0x6'), ('X2', '0x0'), ('X3', '0x0'), ('X4', '0x0'), ('X5', '0x1c3')])
'28870'

>>> main([('X1', '0x0'), ('X2', '0x0'), ('X3', '0x1'), ('X4', '0x0'), ('X5', '0x23b')])
'36560'

Вариант №12

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.

Выходные данные:

Десятичная строка.
0 4 5 6 13 14 18 19 20 21 26 K1 K2 K3 K4 K5 K6

Тесты:

>>> main((2, 0, 39, 24, 2, 32))
'68553154'

>>> main((23, 0, 235, 3, 0, 23))
'48298711'

>>> main((27, 0, 111, 10, 1, 31))
'65706971'

>>> main((11, 0, 117, 14, 0, 18))
'37985611'

Вариант №13

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Целое.
0 4 5 11 12 15 16 N1 N2 N3 N4

Выходные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: целое.

Тесты:

>>> main(123585)
{'N1': 1, 'N2': 22, 'N3': 14, 'N4': 1}

>>> main(120748)
{'N1': 12, 'N2': 61, 'N3': 13, 'N4': 1}

>>> main(131050)
{'N1': 10, 'N2': 127, 'N3': 15, 'N4': 1}

>>> main(78648)
{'N1': 24, 'N2': 25, 'N3': 3, 'N4': 1}

Вариант №14

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Десятичная строка.
0 2 3 8 9 10 11 20 21 25 X1 X3 X4 X5

Выходные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.

Тесты:

>>> main('28284127')
[('X1', '7'), ('X3', '2'), ('X4', '498'), ('X5', '13')]

>>> main('61736437')
[('X1', '5'), ('X3', '2'), ('X4', '448'), ('X5', '29')]

>>> main('45734600')
[('X1', '0'), ('X3', '1'), ('X4', '827'), ('X5', '21')]

>>> main('6447688')
[('X1', '0'), ('X3', '1'), ('X4', '76'), ('X5', '3')]

Вариант №15

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Десятичная строка.

0 4 5 14 15 17 K2 K3 18 21 22 25 26 35 K3 K4 K5

Выходные данные:

Десятичная строка.

0 9 10 17 K5 K2 18 19 20 24 25 28 29 35 K2 K4 K3

Тесты:

>>> main('13427113764')
'18288207048'

>>> main('15036553928')
'68182825184'

>>> main('22420646351')
'33857288526'

>>> main('29082800723')
'60297988529'

Вариант №16

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Шестнадцатиричная строка.

0 1 5 6 10 11 16 17 22 T1 T2 T3 T4 T5

Выходные данные:

Шестнадцатиричная строка.

0 1 5 6 11 12 17 18 22 T1 T3 T4 T5 T2

Тесты:

>>> main('0x35bcfb')
'0x75ade7'

>>> main('0x2fb592')
'0x257dac'

>>> main('0x1c5f90')
'0x20e2fc'

>>> main('0x58c8b3')
'0x66c645'

Вариант №17

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Шестнадцатиричная строка.
0 9 10 11 12 15 V1 V2 V3 16 18 19 22 23 30 31 V3 V5 V6

Выходные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.

Тесты:

>>> main('0x77f15428')
('40', '1', '21', '239', '0')

>>> main('0xfd96fd8f')
('399', '3', '111', '251', '1')

>>> main('0xd9b094a1')
('161', '1', '9', '179', '1')

>>> main('0x131a6b92')
('914', '2', '38', '38', '0')

Вариант №18

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Целое.

0 1 2 3 9 10 12 13 20 F1 F3 F4 F5

Выходные данные:

Целое.

0 1 2 3 9 10 17 18 20 F1 F3 F5 F4

Тесты:

>>> main(1396880)
1222800

>>> main(843394)
1940096

>>> main(1959787)
507756

>>> main(1504864)
1498720

Вариант №19

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Целое.
0 1 2 3 9 10 11 13 K1 K2 K3 K4 K5

Выходные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.

Тесты:

>>> main(3827)
{'K1': '1', 'K2': '1', 'K3': '94', 'K4': '1', 'K5': '1'}

>>> main(6670)
{'K1': '0', 'K2': '3', 'K3': '65', 'K4': '0', 'K5': '3'}

>>> main(12469)
{'K1': '1', 'K2': '2', 'K3': '22', 'K4': '0', 'K5': '6'}

>>> main(15485)
{'K1': '1', 'K2': '2', 'K3': '15', 'K4': '1', 'K5': '7'}

Вариант №20

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Шестнадцатиричная строка.
0 9 10 17 18 20 M1 M2 M3 21 27 28 32 33 34 35 41 M3 M4 M5 M6

Выходные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.

Тесты:

>>> main('0x155788417e7')
[('M1', 999), ('M2', 5), ('M3', 545), ('M4', 23), ('M5', 2), ('M6', 42)]

>>> main('0x249c273eb38')
[('M1', 824), ('M2', 250), ('M3', 156), ('M4', 28), ('M5', 0), ('M6', 73)]

>>> main('0x1c85179b7d7')
[('M1', 983), ('M2', 109), ('M3', 94), ('M4', 5), ('M5', 0), ('M6', 57)]

>>> main('0x299b67f397')
[('M1', 919), ('M2', 252), ('M3', 729), ('M4', 25), ('M5', 0), ('M6', 5)]

Вариант №21

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.

Выходные данные:

Целое.
0 6 7 15 16 Y1 Y2 17 22 23 32 Y4

Тесты:

>>> main({'Y1': '103', 'Y2': '263', 'Y4': '749'})
6283101159

>>> main({'Y1': '51', 'Y2': '70', 'Y4': '388'})
3254788915

>>> main({'Y1': '71', 'Y2': '387', 'Y4': '853'})
7155532231

>>> main({'Y1': '91', 'Y2': '493', 'Y4': '46'})
385939163

Вариант №22

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Десятичная строка.

0 1 2 6 7 12 13 18 E1 E2 E3 E4

Выходные данные:

Шестнадцатиричная строка.

0 1 2 7 8 13 14 18 E1 E3 E4 E2

Тесты:

>>> main('211782')
'0x459da'

>>> main('291718')
'0x639e'

>>> main('328711')
'0x6823'

>>> main('208597')
'0x55975'

Вариант №23

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: целое.

Выходные данные:

Десятичная строка.
0 3 4 8 9 13 14 L1 L2 L3

Тесты:

>>> main({'L1': 6, 'L2': 10, 'L3': 12})
'6310'

>>> main({'L1': 7, 'L2': 12, 'L3': 18})
'9415'

>>> main({'L1': 1, 'L2': 14, 'L3': 15})
'7905'

>>> main({'L1': 4, 'L2': 13, 'L3': 10})
'5332'

Вариант №24

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.

Выходные данные:

Целое.
0 1 8 9 10 12 B1 B2 B3 B4

Тесты:

>>> main([('B1', 1), ('B2', 29), ('B3', 1), ('B4', 4)])
4667

>>> main([('B1', 0), ('B2', 202), ('B3', 1), ('B4', 2)])
2964

>>> main([('B1', 1), ('B2', 239), ('B3', 0), ('B4', 2)])
2527

>>> main([('B1', 1), ('B2', 11), ('B3', 1), ('B4', 1)])
1559

Вариант №25

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.

Выходные данные:

Шестнадцатиричная строка.
0 1 7 8 10 11 13 14 21 W1 W2 W3 W4 W5

Тесты:

>>> main({'W1': '0', 'W2': '49', 'W3': '3', 'W4': '7', 'W5': '22'})
'0x5bb62'

>>> main({'W1': '0', 'W2': '109', 'W3': '5', 'W4': '3', 'W5': '196'})
'0x311dda'

>>> main({'W1': '0', 'W2': '54', 'W3': '0', 'W4': '3', 'W5': '232'})
'0x3a186c'

>>> main({'W1': '1', 'W2': '40', 'W3': '0', 'W4': '1', 'W5': '126'})
'0x1f8851'

Вариант №26

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Шестнадцатиричная строка.
0 3 4 6 7 15 16 22 23 29 O1 O2 O4 O5

Выходные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.

Тесты:

>>> main('0x1fa11f47')
[('O1', '0x7'), ('O2', '0x4'), ('O4', '0x21'), ('O5', '0x3f')]

>>> main('0x2e9f5bd7')
[('O1', '0x7'), ('O2', '0x5'), ('O4', '0x1f'), ('O5', '0x5d')]

>>> main('0x2fe89832')
[('O1', '0x2'), ('O2', '0x3'), ('O4', '0x68'), ('O5', '0x5f')]

>>> main('0x1c4c535b')
[('O1', '0xb'), ('O2', '0x5'), ('O4', '0x4c'), ('O5', '0x38')]

Вариант №27

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Десятичная строка.

0 2 3 11 12 14 15 22 B1 B3 B4

Выходные данные:

Шестнадцатиричная строка.

0 8 9 11 12 14 15 22 B3 B1 B4

Тесты:

>>> main('3782040')
'0x398600'

>>> main('584082')
'0x8ac00'

>>> main('3668358')
'0x37ee00'

>>> main('3593789')
'0x36da00'

Вариант №28

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Целое.

0 8 9 11 12 15 K1 K2 K3 16 17 22 23 31 K3 K4 K5

Выходные данные:

Целое.

0 8 9 11 12 15 K1 K2 K5 16 20 21 25 26 31 K5 K3 K4

Тесты:

>>> main(3265681319)
1287149479

>>> main(1589699318)
2177618678

>>> main(2045168724)
3448716372

>>> main(1955888558)
686726574

Вариант №29

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: целое.

Выходные данные:

Десятичная строка.
0 4 5 9 10 15 16 Z1 Z2 Z3 Z4

Тесты:

>>> main({'Z1': 5, 'Z2': 4, 'Z3': 35, 'Z4': 1})
'101509'

>>> main({'Z1': 27, 'Z2': 17, 'Z3': 13, 'Z4': 1})
'79419'

>>> main({'Z1': 25, 'Z2': 22, 'Z3': 43, 'Z4': 1})
'110297'

>>> main({'Z1': 29, 'Z2': 14, 'Z3': 46, 'Z4': 0})
'47581'

Вариант №30

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Целое.
0 4 5 6 11 12 16 B1 B2 B3 17 21 22 23 32 B5 B6

Выходные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.

Тесты:

>>> main(5182239510)
{'B1': '0x16', 'B2': '0x0', 'B3': '0xc', 'B5': '0x1', 'B6': '0x269'}

>>> main(492679325)
{'B1': '0x1d', 'B2': '0x0', 'B3': '0x2', 'B5': '0x1', 'B6': '0x3a'}

>>> main(6156411862)
{'B1': '0x16', 'B2': '0x0', 'B3': '0xf', 'B5': '0x1', 'B6': '0x2dd'}

>>> main(7111295297)
{'B1': '0x1', 'B2': '0x0', 'B3': '0x5', 'B5': '0x1', 'B6': '0x34f'}

Вариант №31

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Шестнадцатиричная строка.
0 9 10 17 H1 H2 18 19 20 21 22 23 24 28 29 34 H2 H4 H5 H6

Выходные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.

Тесты:

>>> main('0x2a8f7b8d7')
[('H1', 215), ('H2', 494), ('H4', 3), ('H5', 8), ('H6', 21)]

>>> main('0x172a5f673')
[('H1', 627), ('H2', 381), ('H4', 2), ('H5', 18), ('H6', 11)]

>>> main('0x2b40442e2')
[('H1', 738), ('H2', 272), ('H4', 0), ('H5', 20), ('H6', 21)]

>>> main('0x40a87986a')
[('H1', 106), ('H2', 486), ('H4', 2), ('H5', 10), ('H6', 32)]

Вариант №32

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Десятичная строка.
0 3 4 5 13 14 16 17 22 23 28 L1 L2 L3 L4 L5 L6

Выходные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.

Тесты:

>>> main('89716090')
('10', '1', '427', '3', '44', '10')

>>> main('95120795')
('11', '1', '364', '5', '21', '11')

>>> main('13911069')
('13', '1', '32', '1', '42', '1')

>>> main('118520091')
('11', '1', '456', '1', '8', '14')

Вариант №33

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.

Выходные данные:

Шестнадцатиричная строка.
0 3 4 6 7 13 14 22 K1 K2 K3 K4

Тесты:

>>> main([('K1', '7'), ('K2', '2'), ('K3', '109'), ('K4', '463')])
'0x73f6a7'

>>> main([('K1', '7'), ('K2', '6'), ('K3', '73'), ('K4', '305')])
'0x4c64e7'

>>> main([('K1', '11'), ('K2', '6'), ('K3', '76'), ('K4', '231')])
'0x39e66b'

>>> main([('K1', '6'), ('K2', '0'), ('K3', '96'), ('K4', '9')])
'0x27006'

Вариант №34

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.

Выходные данные:

Шестнадцатиричная строка.
0 4 5 11 12 18 19 27 U1 U3 U4

Тесты:

>>> main([('U1', '17'), ('U3', '63'), ('U4', '281')])
'0x8cbf011'

>>> main([('U1', '16'), ('U3', '120'), ('U4', '375')])
'0xbbf8010'

>>> main([('U1', '30'), ('U3', '47'), ('U4', '92')])
'0x2e2f01e'

>>> main([('U1', '11'), ('U3', '46'), ('U4', '253')])
'0x7eae00b'

Вариант №35

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Шестнадцатиричная строка.
0 1 2 8 9 18 E1 E2 19 22 23 29 30 36 E4 E5 E6

Выходные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: целое.

Тесты:

>>> main('0x74e5439bf')
{'E1': 3, 'E2': 111, 'E4': 10, 'E5': 28, 'E6': 29}

>>> main('0x16d5577bfa')
{'E1': 2, 'E2': 126, 'E4': 10, 'E5': 42, 'E6': 91}

>>> main('0x11cfae2c7d')
{'E1': 1, 'E2': 31, 'E4': 5, 'E5': 31, 'E6': 71}

>>> main('0x456b388bc')
{'E1': 0, 'E2': 47, 'E4': 6, 'E5': 45, 'E6': 17}

Вариант №36

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Целое.
0 4 5 9 10 11 17 18 S1 S2 S3 S4 S5

Выходные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.

Тесты:

>>> main(194602)
[('S1', 10), ('S2', 1), ('S3', 0), ('S4', 95), ('S5', 0)]

>>> main(425531)
[('S1', 27), ('S2', 17), ('S3', 1), ('S4', 79), ('S5', 1)]

>>> main(314398)
[('S1', 30), ('S2', 0), ('S3', 1), ('S4', 25), ('S5', 1)]

>>> main(219067)
[('S1', 27), ('S2', 29), ('S3', 1), ('S4', 106), ('S5', 0)]

Вариант №37

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.

Выходные данные:

Десятичная строка.
0 4 5 12 13 14 15 20 21 22 23 26 Q1 Q2 Q3 Q4 Q5 Q6

Тесты:

>>> main(('0x16', '0x5f', '0x0', '0x7', '0x3', '0x7'))
'65244150'

>>> main(('0x8', '0xdc', '0x1', '0x3c', '0x2', '0x5'))
'48118664'

>>> main(('0x12', '0xdb', '0x2', '0x27', '0x0', '0x7'))
'60021618'

>>> main(('0x10', '0x57', '0x2', '0x34', '0x2', '0xf'))
'131746544'

Вариант №38

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Целое.

0 7 8 15 16 20 X1 X2 X3 21 22 23 26 27 35 36 41 X3 X4 X5 X6

Выходные данные:

Шестнадцатиричная строка.

0 6 7 15 16 20 X3 X5 X2 21 23 24 27 28 33 34 41 X2 X4 X6 X1

Тесты:

>>> main(2010337970912)
'0x381d20a417b'

>>> main(3270156022148)
'0x212f8f1967c'

>>> main(1928641526049)
'0x85c73910fe'

>>> main(1352385653333)
'0x155306aae77'

Вариант №39

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Шестнадцатиричная строка.
0 3 4 8 9 12 13 19 20 X1 X2 X3 X4 X5

Выходные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.

Тесты:

>>> main('0x1bf0ed')
('0xd', '0xe', '0x8', '0x5f', '0x1')

>>> main('0xe7f77')
('0x7', '0x17', '0xf', '0x73', '0x0')

>>> main('0x9ce16')
('0x6', '0x1', '0x7', '0x4e', '0x0')

>>> main('0x36439')
('0x9', '0x3', '0x2', '0x1b', '0x0')

Вариант №40

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Целое.

0 9 10 16 17 18 U1 U2 U3 19 23 24 27 28 29 36 U3 U4 U5 U6

Выходные данные:

Целое.

0 7 8 11 12 18 U6 U4 U1 19 21 22 28 29 30 36 U1 U2 U5 U3

Тесты:

>>> main(84013872064)
84275892124

>>> main(33178079389)
78199249213

>>> main(106176186244)
82149132485

>>> main(123336755806)
61079939045