ИНБО-02-22

Вариант №1

Задача №8

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

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

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

0 7 8 13 14 15 19 20 22 E1 E2 E4 E5

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

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

0 7 8 9 11 12 17 18 22 E1 E5 E2 E4

Тесты:

>>> main('7710274')
'3042882'

>>> main('2261977')
'1324249'

>>> main('1794803')
'5907187'

>>> main('3420140')
'2291436'

Вариант №2

Задача №8

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

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

Целое.

0 4 5 10 11 15 H1 H2 H3 16 17 18 22 23 31 H3 H4 H5

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

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

0 6 7 12 13 15 H3 H2 H1 16 17 18 26 27 31 H1 H5 H4

Тесты:

>>> main(4019358260)
'662603985'

>>> main(2209876085)
'1948164481'

>>> main(132611092)
'3359543407'

>>> main(3982584712)
'3345550893'

Вариант №3

Задача №8

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

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

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

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

Целое.
0 1 2 3 8 9 15 16 J1 J2 J3 J4 J5

Тесты:

>>> main(('3', '1', '31', '120', '0'))
61695

>>> main(('3', '0', '59', '36', '0'))
18907

>>> main(('0', '1', '29', '63', '0'))
32492

>>> main(('0', '1', '1', '80', '1'))
106508

Вариант №4

Задача №8

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

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

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

0 8 9 13 14 19 20 21 P1 P2 P3 P4

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

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

0 5 6 10 11 19 20 21 P3 P2 P1 P4

Тесты:

>>> main('2153935')
'0x2e7b83'

>>> main('174674')
'0x2954a'

>>> main('1455329')
'0x170e98'

>>> main('1003499')
'0xf59fd'

Вариант №5

Задача №8

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

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

Шестнадцатиричная строка.
0 1 2 6 7 16 17 19 Z1 Z2 Z3 Z5

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

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

Тесты:

>>> main('0xbabce')
{'Z1': 0, 'Z2': 1, 'Z3': 19, 'Z5': 5}

>>> main('0xa4f11')
{'Z1': 1, 'Z2': 0, 'Z3': 4, 'Z5': 5}

>>> main('0x3b1c5')
{'Z1': 1, 'Z2': 0, 'Z3': 17, 'Z5': 1}

>>> main('0xc707b')
{'Z1': 1, 'Z2': 1, 'Z3': 30, 'Z5': 6}

Вариант №6

Задача №8

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

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

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

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

Десятичная строка.
0 4 5 13 14 17 G1 G2 G3 18 22 23 27 28 34 G3 G4

Тесты:

>>> main([('G1', '1'), ('G2', '419'), ('G3', '247'), ('G4', '0')])
'4060257'

>>> main([('G1', '9'), ('G2', '4'), ('G3', '145'), ('G4', '11')])
'94650505'

>>> main([('G1', '15'), ('G2', '109'), ('G3', '166'), ('G4', '0')])
'2723247'

>>> main([('G1', '8'), ('G2', '13'), ('G3', '501'), ('G4', '12')])
'108872104'

Вариант №7

Задача №8

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

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

Шестнадцатиричная строка.
0 6 7 15 16 18 U1 U2 U3 19 20 29 30 37 U4 U5 U6

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

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

Тесты:

>>> main('0x296ef38d8f')
('0xf', '0x11b', '0x3', '0x0', '0x2ef', '0xa5')

>>> main('0x22923f48e')
('0xe', '0x1e9', '0x3', '0x0', '0x292', '0x8')

>>> main('0x3ac8522815')
('0x15', '0x50', '0x2', '0x0', '0x85', '0xeb')

>>> main('0x760c727b')
('0x7b', '0xe4', '0x4', '0x1', '0x360', '0x1')

Вариант №8

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 9 10 18 19 20 S2 S3 21 23 24 26 27 36 37 40 S3 S4 S5 S6

Тесты:

>>> main({'S2': '287', 'S3': '21', 'S4': '7', 'S5': '414', 'S6': '9'})
'0x12cf7ac7c00'

>>> main({'S2': '38', 'S3': '2', 'S4': '0', 'S5': '425', 'S6': '6'})
'0xcd48109800'

>>> main({'S2': '53', 'S3': '1', 'S4': '3', 'S5': '658', 'S6': '2'})
'0x549308d400'

>>> main({'S2': '269', 'S3': '5', 'S4': '0', 'S5': '8', 'S6': '11'})
'0x160402c3400'

Вариант №9

Задача №8

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

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

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

0 4 5 12 13 17 18 26 R1 R2 R4

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

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

0 8 9 13 14 21 22 26 R4 R2 R1

Тесты:

>>> main('0x6ec7c6d')
'58245563'

>>> main('0x7bb4b4e')
'60195310'

>>> main('0x588300f')
'65012066'

>>> main('0x28816b4')
'86851746'

Вариант №10

Задача №8

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

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

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

0 7 8 15 16 18 19 21 22 28 W1 W2 W3 W4 W5

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

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

0 2 3 10 11 13 14 20 21 28 W3 W2 W4 W5 W1

Тесты:

>>> main('294333895')
'418482539'

>>> main('272811740')
'462439986'

>>> main('191161972')
'244016948'

>>> main('445764914')
'106600105'

Вариант №11

Задача №8

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

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

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

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

Десятичная строка.
0 1 7 8 9 10 18 19 D2 D3 D4 D5 D6

Тесты:

>>> main([('D2', '24'), ('D3', '0'), ('D4', '1'), ('D5', '351'), ('D6', '0')])
'359984'

>>> main([('D2', '85'), ('D3', '0'), ('D4', '0'), ('D5', '365'), ('D6', '1')])
'898218'

>>> main([('D2', '92'), ('D3', '0'), ('D4', '0'), ('D5', '256'), ('D6', '0')])
'262328'

>>> main([('D2', '71'), ('D3', '0'), ('D4', '1'), ('D5', '359'), ('D6', '0')])
'368270'

Вариант №12

Задача №8

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

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

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

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

Десятичная строка.
0 1 4 5 7 8 9 14 D2 D3 D4 D5

Тесты:

>>> main(('10', '4', '0', '9'))
'4756'

>>> main(('13', '0', '0', '34'))
'17434'

>>> main(('1', '7', '0', '47'))
'24290'

>>> main(('6', '1', '1', '25'))
'13100'

Вариант №13

Задача №8

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

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

Десятичная строка.
0 7 8 17 18 20 21 23 24 30 N1 N2 N3 N4 N5

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

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

Тесты:

>>> main('2068551797')
(117, 920, 2, 2, 123)

>>> main('2140489804')
(76, 328, 5, 4, 127)

>>> main('355998680')
(216, 27, 6, 1, 21)

>>> main('31839953')
(209, 470, 1, 7, 1)

Вариант №14

Задача №8

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

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

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

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

Десятичная строка.
0 7 8 15 16 K1 K3 17 25 26 32 K3 K4

Тесты:

>>> main([('K1', '122'), ('K3', '597'), ('K4', '57')])
'3864330362'

>>> main([('K1', '172'), ('K3', '505'), ('K4', '81')])
'5468913836'

>>> main([('K1', '22'), ('K3', '748'), ('K4', '45')])
'3068919830'

>>> main([('K1', '188'), ('K3', '571'), ('K4', '93')])
'6278545596'

Вариант №15

Задача №8

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

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

Шестнадцатиричная строка.
0 7 8 16 17 R1 R2 R3 18 21 22 25 26 31 32 34 R3 R4 R5 R6

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

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

Тесты:

>>> main('0x68c0ce6da')
('0xda', '0xe6', '0x6', '0x0', '0x23', '0x6')

>>> main('0x29c9eaba6')
('0xa6', '0xab', '0xf', '0x2', '0x27', '0x2')

>>> main('0x6104669f6')
('0xf6', '0x69', '0x3', '0x1', '0x4', '0x6')

>>> main('0x13e58ed49')
('0x49', '0xed', '0xc', '0x9', '0xf', '0x1')

Вариант №16

Задача №8

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

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

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

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

Десятичная строка.
0 4 5 11 12 19 Q1 Q2 Q3 20 21 22 31 32 38 Q3 Q4 Q5

Тесты:

>>> main({'Q1': 27, 'Q2': 89, 'Q3': 726, 'Q4': 187, 'Q5': 83})
'357269596987'

>>> main({'Q1': 22, 'Q2': 101, 'Q3': 537, 'Q4': 547, 'Q5': 57})
'247109622966'

>>> main({'Q1': 10, 'Q2': 97, 'Q3': 162, 'Q4': 227, 'Q5': 123})
'529233751082'

>>> main({'Q1': 21, 'Q2': 81, 'Q3': 427, 'Q4': 149, 'Q5': 114})
'490252974645'

Вариант №17

Задача №8

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

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

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

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

Целое.
0 7 8 10 11 14 15 23 24 25 26 30 J2 J3 J4 J5 J6

Тесты:

>>> main(('4', '4', '210', '1', '13'))
896082944

>>> main(('6', '6', '355', '0', '19'))
1286714880

>>> main(('0', '8', '396', '1', '26'))
1774600192

>>> main(('2', '0', '82', '1', '21'))
1428750848

Вариант №18

Задача №8

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

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

Целое.

0 1 5 6 7 15 16 19 20 23 B1 B2 B3 B4 B5 B6

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

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

0 4 5 8 9 17 18 19 20 23 B2 B5 B4 B1 B3 B6

Тесты:

>>> main(1194249)
'1369156'

>>> main(8035055)
'8285015'

>>> main(8398320)
'8951320'

>>> main(7539728)
'7352424'

Вариант №19

Задача №8

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

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

Шестнадцатиричная строка.
0 1 2 11 12 15 B1 B2 B3 16 17 22 23 24 25 31 B3 B4 B5 B6

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

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

Тесты:

>>> main('0x9930cb26')
[('B1', 2), ('B2', 713), ('B3', 12), ('B4', 24), ('B5', 2), ('B6', 76)]

>>> main('0xad402cbb')
[('B1', 3), ('B2', 814), ('B3', 2), ('B4', 32), ('B5', 2), ('B6', 86)]

>>> main('0x29835fad')
[('B1', 1), ('B2', 1003), ('B3', 21), ('B4', 1), ('B5', 3), ('B6', 20)]

>>> main('0xcf59c047')
[('B1', 3), ('B2', 17), ('B3', 28), ('B4', 44), ('B5', 2), ('B6', 103)]

Вариант №20

Задача №8

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

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

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

0 8 9 16 L1 L2 17 24 25 27 28 32 L3 L4 L5

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

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

0 7 8 15 16 L3 L2 L5 17 20 21 23 24 32 L5 L4 L1

Тесты:

>>> main('0xf738246a')
'1785664156'

>>> main('0x18366fb59')
'5791841715'

>>> main('0xef8ec195')
'6810394823'

>>> main('0x3b646994')
'6788691122'

Вариант №21

Задача №8

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

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

Целое.

0 2 3 7 8 9 17 18 20 S1 S2 S3 S4 S5

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

Целое.

0 2 3 4 8 9 11 12 20 S1 S3 S2 S5 S4

Тесты:

>>> main(1041691)
2041403

>>> main(1164865)
931969

>>> main(1875486)
327222

>>> main(862980)
611852

Вариант №22

Задача №8

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

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

Целое.
0 4 5 8 9 18 19 20 D1 D2 D3 D4 D5

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

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

Тесты:

>>> main(531140)
(4, 6, 13, 1, 0)

>>> main(1191081)
(9, 5, 278, 0, 1)

>>> main(1922208)
(0, 5, 682, 1, 1)

>>> main(1375817)
(9, 2, 639, 0, 1)

Вариант №23

Задача №8

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

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

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

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

Целое.
0 3 4 9 10 16 17 21 R1 R2 R3 R4 22 23 24 33 34 43 R4 R5 R6

Тесты:

>>> main({'R1': 11, 'R2': 5, 'R3': 83, 'R4': 58, 'R5': 196, 'R6': 840})
14434386136155

>>> main({'R1': 9, 'R2': 30, 'R3': 50, 'R4': 98, 'R5': 742, 'R6': 826})
14203033537001

>>> main({'R1': 14, 'R2': 16, 'R3': 78, 'R4': 127, 'R5': 279, 'R6': 314})
5399176493326

>>> main({'R1': 14, 'R2': 62, 'R3': 73, 'R4': 84, 'R5': 483, 'R6': 36})
626589771758

Вариант №24

Задача №8

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

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

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

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

Целое.
0 5 6 10 11 20 21 22 23 24 S2 S3 S4 S5

Тесты:

>>> main({'S2': '0x14', 'S3': '0xf6', 'S4': '0x3', 'S5': '0x3'})
31962368

>>> main({'S2': '0xd', 'S3': '0x227', 'S4': '0x0', 'S5': '0x3'})
26295104

>>> main({'S2': '0x0', 'S3': '0x111', 'S4': '0x0', 'S5': '0x2'})
17336320

>>> main({'S2': '0xd', 'S3': '0x240', 'S4': '0x2', 'S5': '0x1'})
13763392

Вариант №25

Задача №8

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

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

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

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

Целое.
0 1 2 11 12 16 17 22 S1 S2 S3 S4 23 25 26 35 36 45 S4 S5 S6

Тесты:

>>> main(('0x1', '0x3c3', '0x1c', '0x138', '0x64', '0x24c'))
40413804220173

>>> main(('0x1', '0x82', '0xb', '0x3b', '0x3d1', '0x1b3'))
29958545519113

>>> main(('0x3', '0x37b', '0xc', '0x124', '0x2fc', '0x77'))
8228927229423

>>> main(('0x3', '0x1fc', '0x10', '0x10b', '0x2dd', '0x118'))
19290679347187

Вариант №26

Задача №8

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

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

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

0 1 2 11 12 18 Z1 Z2 Z3 19 28 29 35 36 37 Z4 Z5

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

Целое.

0 6 7 16 17 18 Z5 Z2 Z1 19 28 29 30 31 37 Z4 Z3

Тесты:

>>> main('0xf3c6cd18')
232259691271

>>> main('0x199b83cf5')
6874177164

>>> main('0x6036da0e2')
193330945072

>>> main('0x59f393cec')
41326058924

Вариант №27

Задача №8

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

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

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

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

Целое.
0 1 2 3 4 13 14 17 18 24 25 27 K2 K3 K4 K5 K6

Тесты:

>>> main([('K2', '2'), ('K3', '1016'), ('K4', '3'), ('K5', '45'), ('K6', '3')])
112525192

>>> main([('K2', '1'), ('K3', '471'), ('K4', '11'), ('K5', '102'), ('K6', '0')])
26926452

>>> main([('K2', '3'), ('K3', '520'), ('K4', '13'), ('K5', '45'), ('K6', '5')])
179789964

>>> main([('K2', '1'), ('K3', '468'), ('K4', '13'), ('K5', '36'), ('K6', '5')])
177429828

Вариант №28

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 7 8 17 M1 M2 18 25 26 31 32 35 M3 M4 M5

Тесты:

>>> main(('0xe1', '0x3d0', '0x67', '0x27', '0x0'))
'0x9d9fd0e1'

>>> main(('0x6f', '0x32', '0x2', '0x12', '0x9'))
'0x94808326f'

>>> main(('0x61', '0x199', '0xff', '0x29', '0x6'))
'0x6a7fd9961'

>>> main(('0xc2', '0x1e4', '0xb7', '0x9', '0x1'))
'0x126dde4c2'

Вариант №29

Задача №8

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

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

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

0 1 2 9 10 12 13 19 U2 U3 U4

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

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

0 2 3 9 10 11 12 19 U3 U4 U2

Тесты:

>>> main('595')
'0x94000'

>>> main('103826')
'0x64065'

>>> main('709262')
'0xa32b4'

>>> main('39949')
'0x3027'

Вариант №30

Задача №8

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

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

Целое.

0 7 8 9 14 15 16 18 P1 P2 P3 P4

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

Целое.

0 5 6 7 8 10 11 18 P3 P2 P4 P1

Тесты:

>>> main(38894)
487627

>>> main(33957)
338050

>>> main(37713)
166089

>>> main(53603)
202984

Вариант №31

Задача №8

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

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

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

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

Целое.
0 3 4 6 7 14 15 19 D1 D2 D3 D4 20 21 30 31 39 D4 D6

Тесты:

>>> main([('D1', '0xc'), ('D2', '0x0'), ('D3', '0x2c'), ('D4', '0x3a'), ('D6', '0x1d0')])
996434318860

>>> main([('D1', '0x0'), ('D2', '0x1'), ('D3', '0x0'), ('D4', '0x0'), ('D6', '0x133')])
659277479952

>>> main([('D1', '0x3'), ('D2', '0x2'), ('D3', '0xbf'), ('D4', '0x15'), ('D6', '0x166')])
768799858595

>>> main([('D1', '0xe'), ('D2', '0x7'), ('D3', '0x45'), ('D4', '0x31'), ('D6', '0x166')])
768800760574

Вариант №32

Задача №8

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

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

Целое.
0 1 2 10 11 12 13 22 W1 W3 W4

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

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

Тесты:

>>> main(4359864)
{'W1': '0x0', 'W3': '0x0', 'W4': '0x214'}

>>> main(2886601)
{'W1': '0x1', 'W3': '0x1', 'W4': '0x160'}

>>> main(7666030)
{'W1': '0x2', 'W3': '0x3', 'W4': '0x3a7'}

>>> main(3543276)
{'W1': '0x0', 'W3': '0x2', 'W4': '0x1b0'}

Вариант №33

Задача №8

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

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

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

0 4 5 14 15 18 L1 L2 L3 19 20 21 23 24 29 30 36 L3 L4 L5 L6

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

Целое.

0 6 7 12 13 15 16 18 L6 L3 L4 L2 19 25 26 31 32 36 L2 L5 L1

Тесты:

>>> main('77597800596')
87103385672

>>> main('79272267088')
72249704137

>>> main('77955409028')
19749175624

>>> main('15786213563')
118917295758

Вариант №34

Задача №8

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

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

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

0 9 10 15 16 21 22 24 M1 M2 M3 M4

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

Целое.

0 9 10 15 16 18 19 24 M1 M2 M4 M3

Тесты:

>>> main('0xe71637')
20649527

>>> main('0x1707e32')
25525810

>>> main('0x1077eaa')
3964586

>>> main('0xb860a6')
29515942

Вариант №35

Задача №8

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

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

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

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

Целое.
0 4 5 9 10 11 13 14 17 18 19 J1 J2 J3 J4 J6

Тесты:

>>> main([('J1', '18'), ('J2', '11'), ('J3', '1'), ('J4', '4'), ('J6', '1')])
271730

>>> main([('J1', '29'), ('J2', '23'), ('J3', '1'), ('J4', '0'), ('J6', '0')])
1789

>>> main([('J1', '8'), ('J2', '27'), ('J3', '1'), ('J4', '6'), ('J6', '0')])
14184

>>> main([('J1', '11'), ('J2', '2'), ('J3', '0'), ('J4', '2'), ('J6', '1')])
266315

Вариант №36

Задача №8

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

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

Целое.

0 4 5 9 10 12 13 20 21 22 23 24 P1 P2 P3 P4 P5 P6

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

Целое.

0 4 5 6 7 8 9 11 12 16 17 24 P2 P6 P5 P3 P1 P4

Тесты:

>>> main(19380805)
8019154

>>> main(10426978)
32517171

>>> main(19055065)
2986190

>>> main(28728804)
23351023

Вариант №37

Задача №8

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

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

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

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

Целое.
0 5 6 15 16 17 22 23 28 B1 B2 B4 B5

Тесты:

>>> main(('0x6', '0x1f4', '0x32', '0x23'))
300186886

>>> main(('0x4', '0x29c', '0x14', '0x16'))
187213572

>>> main(('0x3e', '0x1d7', '0x20', '0x7'))
62944766

>>> main(('0x11', '0x2c3', '0x35', '0x15'))
183152849

Вариант №38

Задача №8

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

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

Десятичная строка.
0 1 2 5 6 12 13 18 19 R1 R2 R3 R4 R5

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

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

Тесты:

>>> main('895561')
('1', '2', '41', '45', '1')

>>> main('496130')
('2', '0', '72', '60', '0')

>>> main('627246')
('2', '11', '72', '12', '1')

>>> main('878691')
('3', '8', '33', '43', '1')

Вариант №39

Задача №8

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

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

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

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

Десятичная строка.
0 8 9 17 18 24 25 27 R1 R2 R3 R4 28 34 35 44 45 54 R4 R5 R6

Тесты:

>>> main(('324', '311', '84', '727', '525', '246'))
'8673418812747588'

>>> main(('284', '5', '112', '533', '656', '432'))
'15222206644620060'

>>> main(('421', '175', '117', '720', '1020', '469'))
'16536541632749477'

>>> main(('454', '362', '72', '2', '1007', '513'))
'18084183224276422'

Вариант №40

Задача №8

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

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

Целое.
0 5 6 10 11 12 13 17 T2 T3 T4

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

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

Тесты:

>>> main(135126)
{'T2': '31', 'T3': '1', 'T4': '16'}

>>> main(71599)
{'T2': '30', 'T3': '2', 'T4': '8'}

>>> main(110408)
{'T2': '29', 'T3': '1', 'T4': '13'}

>>> main(251981)
{'T2': '1', 'T3': '3', 'T4': '30'}