ИНБО-11-22

Вариант №1

Задача №8

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

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

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

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

Десятичная строка.
0 3 4 10 11 19 20 23 24 26 P1 P2 P3 P5

Тесты:

>>> main([('P1', '0x4'), ('P2', '0x46'), ('P3', '0x31'), ('P5', '0x0')])
'101476'

>>> main([('P1', '0x6'), ('P2', '0x77'), ('P3', '0x182'), ('P5', '0x2')])
'34346870'

>>> main([('P1', '0x5'), ('P2', '0x74'), ('P3', '0xdc'), ('P5', '0x1')])
'17229637'

>>> main([('P1', '0xf'), ('P2', '0x53'), ('P3', '0xed'), ('P5', '0x5')])
'84372799'

Вариант №2

Задача №8

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

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

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

0 7 8 15 16 20 21 22 M1 M2 M3 M4 23 27 28 34 35 44 M4 M6

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

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

0 6 7 11 12 19 20 22 M4 M3 M2 M1 23 27 28 34 35 44 M1 M6

Тесты:

>>> main('4822744593817')
'0x46009975d0f'

>>> main('34103312131962')
'0x1f0007a2775e'

>>> main('20357010263843')
'0x12800238fee2'

>>> main('30203294538147')
'0x1b780a359205'

Вариант №3

Задача №8

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

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

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

0 9 10 11 13 14 18 O1 O2 O3 O4 19 23 24 26 27 36 O4 O5 O6

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

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

0 9 10 18 O4 O6 19 20 22 23 32 33 35 36 O6 O3 O1 O5 O2

Тесты:

>>> main('137389955568')
'0xaf83ffc51'

>>> main('44442714217')
'0x34852ff8'

>>> main('51792640796')
'0xf8e760453'

>>> main('43904129989')
'0x1e2b51f8f'

Вариант №4

Задача №8

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

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

Шестнадцатиричная строка.
0 3 4 10 11 13 14 19 20 28 T1 T2 T4 T5

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

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

Тесты:

>>> main('0x37da8bd')
[('T1', '0xd'), ('T2', '0xb'), ('T4', '0x36'), ('T5', '0x37')]

>>> main('0x190e6111')
[('T1', '0x1'), ('T2', '0x11'), ('T4', '0x39'), ('T5', '0x190')]

>>> main('0x170f050d')
[('T1', '0xd'), ('T2', '0x50'), ('T4', '0x3c'), ('T5', '0x170')]

>>> main('0x91084e2')
[('T1', '0x2'), ('T2', '0x4e'), ('T4', '0x2'), ('T5', '0x91')]

Вариант №5

Задача №8

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

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

Целое.
0 9 10 17 18 19 F1 F2 F3 20 26 27 34 35 38 F3 F5

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

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

Тесты:

>>> main(71602018660)
('0x164', '0x6', '0xf4', '0x2')

>>> main(375859414030)
('0xe', '0xe1', '0xbd', '0xa')

>>> main(162425882160)
('0x230', '0x91', '0x55', '0x4')

>>> main(1979174426)
('0x21a', '0xf3', '0x17d', '0x0')

Вариант №6

Задача №8

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

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

Целое.

0 1 2 4 5 13 14 15 16 17 N1 N2 N3 N4 N5 18 24 25 34 N5 N6

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

Целое.

0 8 9 17 N5 N3 18 19 20 29 30 32 33 34 N4 N6 N2 N1

Тесты:

>>> main(5730991234)
17359161751

>>> main(1991445657)
15094302899

>>> main(2115222101)
14025466899

>>> main(13340278714)
24039127844

Вариант №7

Задача №8

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

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

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

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

Целое.
0 3 4 5 8 9 13 14 22 23 24 V1 V3 V4 V5 V6

Тесты:

>>> main((5, 0, 6, 65, 3))
26233861

>>> main((5, 13, 5, 221, 2))
20401061

>>> main((12, 12, 27, 83, 3))
26539916

>>> main((7, 4, 2, 424, 0))
6947975

Вариант №8

Задача №8

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

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

Целое.

0 6 7 8 14 15 24 W1 W2 W4

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

Целое.

0 6 7 13 14 23 24 W1 W4 W2

Тесты:

>>> main(17116056)
25329688

>>> main(23007187)
28278867

>>> main(1641329)
819313

>>> main(17506450)
25526290

Вариант №9

Задача №8

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

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

Целое.

0 8 9 10 15 Z1 Z2 Z3 16 19 20 29 30 31 Z3 Z4

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

Целое.

0 8 9 10 11 15 Z1 Z3 16 20 21 22 31 Z3 Z2 Z4

Тесты:

>>> main(752807063)
3009271959

>>> main(553363332)
2214021508

>>> main(559066954)
2238011722

>>> main(373478)
2842854

Вариант №10

Задача №8

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

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

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

0 7 8 15 16 D1 D2 17 23 24 33 D4

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

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

0 7 8 15 16 D1 D4 17 25 26 33 D4 D2

Тесты:

>>> main('0x2d33c6167')
'6556968704'

>>> main('0x292b5caf2')
'13599175168'

>>> main('0x2e37f0915')
'652416256'

>>> main('0x1753e4ee5')
'5258994944'

Вариант №11

Задача №8

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

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

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

0 1 2 8 9 16 X1 X2 X3 17 18 26 27 33 X3 X4 X5

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

Целое.

0 6 7 15 16 X5 X3 X4 17 24 25 31 32 33 X4 X2 X1

Тесты:

>>> main('11465934073')
6389698901

>>> main('6446248772')
2718858416

>>> main('15428356930')
11306173170

>>> main('926162600')
1439500166

Вариант №12

Задача №8

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

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

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

0 8 9 17 18 21 N1 N2 N3 22 24 25 31 32 34 35 42 N3 N4 N5 N6

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

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

0 2 3 9 10 17 18 21 N5 N4 N6 N3 22 24 25 33 34 42 N3 N2 N1

Тесты:

>>> main('1929753336307')
'8586046529849'

>>> main('5414892709852')
'8184710461188'

>>> main('4080513760916')
'2554424580166'

>>> main('1779135843527')
'3429745347830'

Вариант №13

Задача №8

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

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

Целое.

0 7 8 9 10 11 12 13 21 K1 K2 K3 K4 K5

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

Целое.

0 7 8 9 10 11 12 20 21 K1 K4 K3 K5 K2

Тесты:

>>> main(2409553)
1206353

>>> main(914508)
457292

>>> main(2854373)
3525093

>>> main(1933860)
967716

Вариант №14

Задача №8

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

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

Целое.

0 3 4 13 14 15 O1 O2 O3 16 21 22 23 31 O3 O4 O5

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

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

0 1 4 5 12 13 15 O4 O1 O3 O2 16 22 23 31 O2 O5

Тесты:

>>> main(2978752537)
'0xb1d02612'

>>> main(2584140866)
'0x9a388364'

>>> main(2944542304)
'0xafccc100'

>>> main(4247826108)
'0xfd5d7858'

Вариант №15

Задача №8

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

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

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

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

Целое.
0 9 10 11 12 16 T1 T3 17 21 22 30 31 32 33 T3 T4 T5 T6

Тесты:

>>> main([('T1', 168), ('T3', 768), ('T4', 463), ('T5', 1), ('T6', 3)])
16977494184

>>> main([('T1', 300), ('T3', 939), ('T4', 100), ('T5', 1), ('T6', 0)])
2570760492

>>> main([('T1', 34), ('T3', 687), ('T4', 185), ('T5', 1), ('T6', 0)])
2926243874

>>> main([('T1', 101), ('T3', 698), ('T4', 83), ('T5', 1), ('T6', 0)])
2498469989

Вариант №16

Задача №8

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

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

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

0 4 5 10 11 16 17 G1 G2 G3 18 25 26 34 G5

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

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

0 5 6 14 15 17 G3 G5 18 23 24 28 29 34 G5 G1 G2

Тесты:

>>> main('8131317638')
'32316882945'

>>> main('17011565563')
'17104273468'

>>> main('9078637947')
'23542857760'

>>> main('34083412983')
'17045487667'

Вариант №17

Задача №8

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

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

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

0 8 9 15 16 17 19 20 25 U1 U2 U3 U4

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

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

0 5 6 14 15 17 18 24 25 U1 U4 U2 U3

Тесты:

>>> main('475981')
'0x285d340'

>>> main('990518')
'0x23bcd80'

>>> main('562903')
'0x12e35c0'

>>> main('626934')
'0x3223d80'

Вариант №18

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 9 10 16 17 22 23 25 E1 E2 E4

Тесты:

>>> main([('E1', 625), ('E2', 12), ('E4', 3)])
'0x1803271'

>>> main([('E1', 245), ('E2', 52), ('E4', 3)])
'0x180d0f5'

>>> main([('E1', 33), ('E2', 73), ('E4', 6)])
'0x3012421'

>>> main([('E1', 503), ('E2', 76), ('E4', 1)])
'0x8131f7'

Вариант №19

Задача №8

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

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

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

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

Целое.
0 1 2 5 6 7 8 11 S2 S3 S4

Тесты:

>>> main([('S2', '0x7'), ('S3', '0x3'), ('S4', '0x6')])
1756

>>> main([('S2', '0x1'), ('S3', '0x1'), ('S4', '0xc')])
3140

>>> main([('S2', '0x9'), ('S3', '0x3'), ('S4', '0x7')])
2020

>>> main([('S2', '0xa'), ('S3', '0x2'), ('S4', '0x8')])
2216

Вариант №20

Задача №8

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

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

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

0 3 4 11 12 13 14 21 22 28 E1 E3 E4 E5

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

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

0 1 2 9 10 16 17 24 25 28 E3 E4 E5 E1

Тесты:

>>> main('0x6ac1e62')
'0x4006ac1'

>>> main('0x1309d0ca')
'0x1401309d'

>>> main('0x7787c52')
'0x4007787'

>>> main('0x51d8cda')
'0x140051d8'

Вариант №21

Задача №8

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

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

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

0 7 8 13 14 19 20 21 27 D1 D2 D3 D4 D5

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

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

0 6 7 12 13 14 21 22 27 D5 D2 D4 D1 D3

Тесты:

>>> main('0xb4dcafe')
'234849626'

>>> main('0xe887053')
'139778164'

>>> main('0xa3ebc3d')
'244285009'

>>> main('0xe6a717e')
'174037235'

Вариант №22

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 5 6 11 12 19 O1 O2 O3 20 21 26 27 31 32 38 O3 O4 O5 O6

Тесты:

>>> main(('41', '51', '222', '15', '10', '84'))
'0x5451edece9'

>>> main(('63', '16', '183', '55', '6', '71'))
'0x4736eb743f'

>>> main(('36', '47', '503', '56', '2', '73'))
'0x49171f7be4'

>>> main(('39', '55', '478', '13', '0', '48'))
'0x3001bdede7'

Вариант №23

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 4 5 12 13 14 15 20 21 22 23 25 W1 W2 W3 W4 W5 W6

Тесты:

>>> main([('W1', '2'), ('W2', '177'), ('W3', '0'), ('W4', '34'), ('W5', '1'), ('W6', '5')])
'0x2b11622'

>>> main([('W1', '0'), ('W2', '237'), ('W3', '1'), ('W4', '56'), ('W5', '1'), ('W6', '1')])
'0xbc3da0'

>>> main([('W1', '26'), ('W2', '80'), ('W3', '2'), ('W4', '25'), ('W5', '1'), ('W6', '5')])
'0x2acca1a'

>>> main([('W1', '2'), ('W2', '100'), ('W3', '2'), ('W4', '50'), ('W5', '3'), ('W6', '5')])
'0x2f94c82'

Вариант №24

Задача №8

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

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

Десятичная строка.
0 4 5 10 11 19 20 26 Q1 Q2 Q4

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

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

Тесты:

>>> main('95754810')
[('Q1', '0x1a'), ('Q2', '0x11'), ('Q4', '0x5b')]

>>> main('103547925')
[('Q1', '0x15'), ('Q2', '0x20'), ('Q4', '0x62')]

>>> main('48179284')
[('Q1', '0x14'), ('Q2', '0x2'), ('Q4', '0x2d')]

>>> main('41096073')
[('Q1', '0x9'), ('Q2', '0x1c'), ('Q4', '0x27')]

Вариант №25

Задача №8

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

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

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

0 5 6 13 14 20 21 22 27 C1 C2 C3 C4 C5

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

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

0 5 6 13 14 19 20 26 27 C1 C2 C5 C3 C4

Тесты:

>>> main('477109')
'0x1d007b5'

>>> main('217197959')
'0xc8ced87'

>>> main('56340542')
'0x6e3703e'

>>> main('120792399')
'0xcc7254f'

Вариант №26

Задача №8

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

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

Десятичная строка.
0 9 10 14 15 O1 O2 O3 16 17 21 22 31 O3 O4 O5

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

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

Тесты:

>>> main('1876347682')
{'O1': 802, 'O2': 18, 'O3': 1, 'O4': 11, 'O5': 447}

>>> main('3835589890')
{'O1': 258, 'O2': 29, 'O3': 0, 'O4': 15, 'O5': 914}

>>> main('1660798702')
{'O1': 750, 'O2': 17, 'O3': 3, 'O4': 30, 'O5': 395}

>>> main('1937821682')
{'O1': 1010, 'O2': 19, 'O3': 1, 'O4': 0, 'O5': 462}

Вариант №27

Задача №8

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

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

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

0 9 10 16 17 20 21 24 25 26 R1 R2 R4 R5

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

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

0 3 4 7 8 9 10 16 17 26 R4 R5 R2 R1

Тесты:

>>> main('0x7c67bd8')
'0x7b07b0e'

>>> main('0x4078e0b')
'0x4178e00'

>>> main('0x28ff317')
'0x62ff104'

>>> main('0x2c1749d')
'0x13b7506'

Вариант №28

Задача №8

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

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

Целое.
0 1 2 5 6 11 12 17 18 24 S1 S2 S4 S5

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

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

Тесты:

>>> main(19364181)
('1', '5', '55', '73')

>>> main(16789012)
('0', '5', '2', '64')

>>> main(33240270)
('2', '3', '51', '126')

>>> main(14229833)
('1', '2', '18', '54')

Вариант №29

Задача №8

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

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

Целое.
0 8 9 12 13 17 L1 L2 L3 18 25 26 35 L4 L5

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

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

Тесты:

>>> main(7282565793)
{'L1': '0xa1', 'L2': '0x1', 'L3': '0x19', 'L4': '0x84', 'L5': '0x6c'}

>>> main(1541536464)
{'L1': '0xd0', 'L2': '0xd', 'L3': '0xf', 'L4': '0xf8', 'L5': '0x16'}

>>> main(18283348464)
{'L1': '0x1f0', 'L2': '0x0', 'L3': '0xe', 'L4': '0x71', 'L5': '0x110'}

>>> main(25510704487)
{'L1': '0x167', 'L2': '0xa', 'L3': '0x13', 'L4': '0x23', 'L5': '0x17c'}

Вариант №30

Задача №8

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

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

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

0 2 3 4 5 14 15 19 20 21 24 T1 T2 T3 T4 T5 T6

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

Целое.

0 3 4 8 9 18 19 20 21 22 24 T6 T4 T3 T2 T5 T1

Тесты:

>>> main('19425774')
26124041

>>> main('21281856')
246938

>>> main('133463')
30446656

>>> main('19293867')
13527753

Вариант №31

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 9 10 14 15 20 21 27 28 X1 X3 X4 X5

Тесты:

>>> main([('X1', '0x3c5'), ('X3', '0x30'), ('X4', '0x5'), ('X5', '0x1')])
'0x10b803c5'

>>> main([('X1', '0x46'), ('X3', '0x37'), ('X4', '0x4'), ('X5', '0x0')])
'0x9b8046'

>>> main([('X1', '0x33a'), ('X3', '0x26'), ('X4', '0x67'), ('X5', '0x1')])
'0x1cf3033a'

>>> main([('X1', '0x2ee'), ('X3', '0x23'), ('X4', '0x7d'), ('X5', '0x1')])
'0x1fb182ee'

Вариант №32

Задача №8

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

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

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

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

Десятичная строка.
0 3 4 5 6 12 13 14 L1 L2 L4 L5

Тесты:

>>> main([('L1', '0x3'), ('L2', '0x0'), ('L4', '0x22'), ('L5', '0x3')])
'26755'

>>> main([('L1', '0xe'), ('L2', '0x0'), ('L4', '0x30'), ('L5', '0x2')])
'19470'

>>> main([('L1', '0xf'), ('L2', '0x0'), ('L4', '0x73'), ('L5', '0x3')])
'31951'

>>> main([('L1', '0x3'), ('L2', '0x0'), ('L4', '0x25'), ('L5', '0x3')])
'26947'

Вариант №33

Задача №8

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

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

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

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

Десятичная строка.
0 3 4 10 11 14 15 U1 U2 U3 U4

Тесты:

>>> main([('U1', '6'), ('U2', '104'), ('U3', '1'), ('U4', '0')])
'3718'

>>> main([('U1', '3'), ('U2', '6'), ('U3', '9'), ('U4', '1')])
'51299'

>>> main([('U1', '5'), ('U2', '55'), ('U3', '9'), ('U4', '1')])
'52085'

>>> main([('U1', '2'), ('U2', '127'), ('U3', '11'), ('U4', '1')])
'57330'

Вариант №34

Задача №8

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

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

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

0 5 6 12 13 21 22 23 S1 S3 S4

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

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

0 8 9 15 16 17 18 23 S3 S4 S1

Тесты:

>>> main('0x749895')
'0x5501a4'

>>> main('0x9ff105')
'0x1600ff'

>>> main('0x7f05d0')
'0x4101f8'

>>> main('0xee2728')
'0xa30171'

Вариант №35

Задача №8

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

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

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

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

Десятичная строка.
0 9 10 17 Z1 18 19 20 22 23 27 28 31 32 35 Z3 Z4 Z5 Z6

Тесты:

>>> main((688, 0, 27, 11, 14))
'63308825264'

>>> main((221, 7, 28, 0, 5))
'21717057757'

>>> main((936, 6, 23, 13, 15))
'68113400744'

>>> main((146, 1, 18, 15, 14))
'64308117650'

Вариант №36

Задача №8

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

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

Шестнадцатиричная строка.
0 4 5 14 15 19 20 27 28 29 A1 A2 A3 A5

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

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

Тесты:

>>> main('0x328442f7')
[('A1', '0x17'), ('A2', '0x217'), ('A3', '0x8'), ('A5', '0x3')]

>>> main('0x372a3dc7')
[('A1', '0x7'), ('A2', '0x1ee'), ('A3', '0x14'), ('A5', '0x3')]

>>> main('0x3103d296')
[('A1', '0x16'), ('A2', '0x294'), ('A3', '0x7'), ('A5', '0x3')]

>>> main('0x3bb671c3')
[('A1', '0x3'), ('A2', '0x38e'), ('A3', '0xc'), ('A5', '0x3')]

Вариант №37

Задача №8

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

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

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

0 1 2 9 10 18 19 27 F1 F2 F3 F4

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

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

0 8 9 16 17 18 19 27 F3 F2 F1 F4

Тесты:

>>> main('107652444')
'0x668aea9'

>>> main('102507738')
'0x61c6d09'

>>> main('44467395')
'0x2a661a1'

>>> main('180849591')
'0xac7dbe2'

Вариант №38

Задача №8

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

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

Целое.
0 5 6 7 14 15 19 D1 D3 D4

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

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

Тесты:

>>> main(957425)
(49, 55, 29)

>>> main(758407)
(7, 37, 23)

>>> main(244957)
(29, 121, 7)

>>> main(64627)
(51, 248, 1)

Вариант №39

Задача №8

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

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

Шестнадцатиричная строка.
0 1 2 6 7 9 10 12 13 21 22 30 J2 J3 J4 J5 J6

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

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

Тесты:

>>> main('0x43ef0bb9')
{'J2': 14, 'J3': 7, 'J4': 2, 'J5': 376, 'J6': 271}

>>> main('0x7a3374d0')
{'J2': 20, 'J3': 1, 'J4': 5, 'J5': 411, 'J6': 488}

>>> main('0x2a2b288d')
{'J2': 3, 'J3': 1, 'J4': 2, 'J5': 345, 'J6': 168}

>>> main('0x76f3c8fa')
{'J2': 30, 'J3': 1, 'J4': 2, 'J5': 414, 'J6': 475}

Вариант №40

Задача №8

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

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

Шестнадцатиричная строка.
0 9 10 16 17 25 26 27 Q1 Q2 Q3 Q4 Q5

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

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

Тесты:

>>> main('0xdee01e2')
[('Q1', 482), ('Q2', 0), ('Q3', 247), ('Q4', 1), ('Q5', 1)]

>>> main('0x2dc1582')
[('Q1', 386), ('Q2', 5), ('Q3', 366), ('Q4', 0), ('Q5', 0)]

>>> main('0x2aeca86')
[('Q1', 646), ('Q2', 50), ('Q3', 343), ('Q4', 0), ('Q5', 0)]

>>> main('0xc049727')
[('Q1', 807), ('Q2', 37), ('Q3', 2), ('Q4', 1), ('Q5', 1)]