ИКБО-33-22

Вариант №1

Задача №8

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

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

Десятичная строка.
0 7 8 9 10 13 14 15 C1 C2 C3 C4 16 17 18 22 23 31 C4 C5

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

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

Тесты:

>>> main('3012380')
[('C1', 28), ('C2', 3), ('C3', 13), ('C4', 7), ('C5', 11)]

>>> main('7058595')
[('C1', 163), ('C2', 0), ('C3', 13), ('C4', 14), ('C5', 26)]

>>> main('3674707')
[('C1', 83), ('C2', 2), ('C3', 4), ('C4', 0), ('C5', 14)]

>>> main('910494')
[('C1', 158), ('C2', 0), ('C3', 9), ('C4', 7), ('C5', 3)]

Вариант №2

Задача №8

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

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

Целое.

0 2 3 6 7 13 14 20 21 29 L2 L3 L4 L5

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

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

0 2 3 11 12 18 19 25 26 29 L5 L4 L3 L2

Тесты:

>>> main(326393721)
'1039471832'

>>> main(455618296)
'1055524552'

>>> main(97506179)
'20705648'

>>> main(537843821)
'897824768'

Вариант №3

Задача №8

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

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

Шестнадцатиричная строка.
0 7 8 13 14 22 23 I1 I2 I3 I4

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

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

Тесты:

>>> main('0xcaef83')
[('I1', '0x83'), ('I2', '0x2f'), ('I3', '0x12b'), ('I4', '0x1')]

>>> main('0xa0ffc7')
[('I1', '0xc7'), ('I2', '0x3f'), ('I3', '0x83'), ('I4', '0x1')]

>>> main('0xb39e25')
[('I1', '0x25'), ('I2', '0x1e'), ('I3', '0xce'), ('I4', '0x1')]

>>> main('0x8cb4f4')
[('I1', '0xf4'), ('I2', '0x34'), ('I3', '0x32'), ('I4', '0x1')]

Вариант №4

Задача №8

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

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

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

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

Десятичная строка.
0 3 4 7 8 9 15 16 20 V1 V3 V4 V5

Тесты:

>>> main([('V1', '0x2'), ('V3', '0x1'), ('V4', '0x7c'), ('V5', '0x12')])
'1243394'

>>> main([('V1', '0xc'), ('V3', '0x0'), ('V4', '0x2c'), ('V5', '0x12')])
'1202188'

>>> main([('V1', '0x8'), ('V3', '0x1'), ('V4', '0x4d'), ('V5', '0x1c')])
'1874696'

>>> main([('V1', '0xd'), ('V3', '0x0'), ('V4', '0x68'), ('V5', '0x1f')])
'2084877'

Вариант №5

Задача №8

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

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

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

0 5 6 8 9 12 13 15 16 23 Z2 Z3 Z4 Z5

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

Целое.

0 7 8 10 11 13 14 17 18 23 Z5 Z4 Z2 Z3

Тесты:

>>> main('11386254')
243117

>>> main('13688370')
247504

>>> main('1030157')
197903

>>> main('1312687')
61460

Вариант №6

Задача №8

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

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

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

0 6 7 16 17 26 27 28 P1 P2 P3 P4

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

Целое.

0 9 10 19 20 26 27 28 P2 P3 P1 P4

Тесты:

>>> main('157587378')
186829103

>>> main('213400102')
174682228

>>> main('51117203')
20322297

>>> main('358245466')
363508936

Вариант №7

Задача №8

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

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

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

0 8 9 15 16 17 R1 R2 R3 18 19 20 27 28 34 R5 R6

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

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

0 6 7 14 15 16 17 R6 R5 R3 18 19 27 28 34 R1 R2

Тесты:

>>> main('27250737221')
'0x20228c265'

>>> main('11456017830')
'0x7ad3056aa'

>>> main('9124670340')
'0x35c21fea1'

>>> main('21331927106')
'0x30211bbcf'

Вариант №8

Задача №8

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

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

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

0 8 9 17 R1 R2 18 20 21 28 29 35 R3 R4 R5

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

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

0 6 7 9 10 17 R5 R3 R2 18 19 26 27 35 R2 R4 R1

Тесты:

>>> main('0xd6303a071')
'0x388c7406b'

>>> main('0xef14703ab')
'0xd5c5604f7'

>>> main('0x92c7c416f')
'0xb7b1883c9'

>>> main('0x637730647')
'0x23dde0e31'

Вариант №9

Задача №8

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

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

Целое.

0 4 5 8 9 13 14 22 23 J1 J2 J3 J4 J5

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

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

0 4 5 13 14 15 18 19 23 J1 J4 J5 J2 J3

Тесты:

>>> main(10123411)
'14830899'

>>> main(5100880)
'5580528'

>>> main(11247642)
'8410586'

>>> main(815821)
'13305389'

Вариант №10

Задача №8

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

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

Десятичная строка.
0 5 6 13 14 15 16 24 G1 G2 G3 G4

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

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

Тесты:

>>> main('10793014')
{'G1': '54', 'G2': '192', 'G3': '2', 'G4': '164'}

>>> main('16792139')
{'G1': '11', 'G2': '233', 'G3': '0', 'G4': '256'}

>>> main('27804115')
{'G1': '19', 'G2': '7', 'G3': '1', 'G4': '424'}

>>> main('21654790')
{'G1': '6', 'G2': '180', 'G3': '1', 'G4': '330'}

Вариант №11

Задача №8

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

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

Целое.

0 4 5 14 15 21 Q1 Q2 Q3 22 23 24 32 33 37 38 43 Q3 Q4 Q5

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

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

0 4 5 14 15 21 Q1 Q2 Q3 22 23 24 32 33 38 39 43 Q3 Q4 Q5

Тесты:

>>> main(34410144518)
'0x20003012306'

>>> main(159097184802)
'0x9010aee6222'

>>> main(4373306804)
'0x104ab5db4'

>>> main(79187814637)
'0x4806ff628ed'

Вариант №12

Задача №8

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

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

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

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

Целое.
0 1 2 10 11 14 15 17 D1 D2 D3 D4

Тесты:

>>> main(('0x3', '0x1ad', '0x9', '0x4'))
151223

>>> main(('0x3', '0x1c6', '0x0', '0x3'))
100123

>>> main(('0x2', '0x11e', '0x1', '0x3'))
101498

>>> main(('0x3', '0x1cb', '0x0', '0x5'))
165679

Вариант №13

Задача №8

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

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

Целое.

0 1 2 3 6 7 13 P1 P2 P3 P4

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

Целое.

0 1 7 8 9 10 13 P2 P4 P1 P3

Тесты:

>>> main(15570)
10994

>>> main(10260)
2209

>>> main(3784)
9274

>>> main(517)
265

Вариант №14

Задача №8

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

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

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

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

Десятичная строка.
0 6 7 16 17 18 25 V1 V3 V4

Тесты:

>>> main([('V1', 2), ('V3', 1), ('V4', 202)])
'53084162'

>>> main([('V1', 48), ('V3', 1), ('V4', 130)])
'34209840'

>>> main([('V1', 87), ('V3', 1), ('V4', 218)])
'57278551'

>>> main([('V1', 118), ('V3', 1), ('V4', 204)])
'53608566'

Вариант №15

Задача №8

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

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

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

0 6 7 11 12 13 14 15 20 21 26 Q1 Q2 Q3 Q4 Q5 Q6

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

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

0 1 2 3 9 10 15 16 20 21 26 Q3 Q4 Q1 Q6 Q2 Q5

Тесты:

>>> main('105914617')
'0x401cbca'

>>> main('25746216')
'0x2363145'

>>> main('133434880')
'0x51cfc00'

>>> main('34925427')
'0x536439e'

Вариант №16

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 5 6 8 9 10 11 16 X1 X2 X3 X4 17 20 21 30 31 32 X4 X6

Тесты:

>>> main([('X1', 8), ('X2', 5), ('X3', 3), ('X4', 109), ('X6', 1)])
'0x80036f48'

>>> main([('X1', 41), ('X2', 1), ('X3', 3), ('X4', 82), ('X6', 1)])
'0x80029669'

>>> main([('X1', 8), ('X2', 7), ('X3', 3), ('X4', 226), ('X6', 3)])
'0x1800717c8'

>>> main([('X1', 59), ('X2', 1), ('X3', 3), ('X4', 1019), ('X6', 1)])
'0x801fde7b'

Вариант №17

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 6 7 8 9 10 16 U1 U2 U3 U4 17 18 19 22 23 32 U4 U6

Тесты:

>>> main((58, 1, 1, 423, 606))
'0x12f069dba'

>>> main((87, 0, 1, 355, 697))
'0x15c858d57'

>>> main((55, 1, 2, 511, 12))
'0x607feb7'

>>> main((28, 0, 3, 48, 318))
'0x9f00c31c'

Вариант №18

Задача №8

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

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

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

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

Десятичная строка.
0 4 5 6 8 9 17 18 19 Y1 Y2 Y3 Y4

Тесты:

>>> main({'Y1': '11', 'Y2': '1', 'Y3': '3', 'Y4': '356'})
'182507'

>>> main({'Y1': '1', 'Y2': '1', 'Y3': '1', 'Y4': '234'})
'119905'

>>> main({'Y1': '13', 'Y2': '0', 'Y3': '7', 'Y4': '248'})
'127437'

>>> main({'Y1': '8', 'Y2': '1', 'Y3': '5', 'Y4': '124'})
'63848'

Вариант №19

Задача №8

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

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

Целое.

0 6 7 8 9 10 11 12 15 R1 R2 R3 R4 R5

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

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

0 6 7 8 11 12 13 14 15 R1 R2 R5 R4 R3

Тесты:

>>> main(52752)
'0xbc10'

>>> main(35197)
'0x687d'

>>> main(49805)
'0x8c8d'

>>> main(27459)
'0xe643'

Вариант №20

Задача №8

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

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

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

0 3 4 5 9 10 18 B1 B2 B3 B4 19 20 27 28 36 B4 B5

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

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

0 9 10 14 15 18 B4 B3 19 23 24 27 28 35 36 B1 B5 B2

Тесты:

>>> main('0xc36a5c')
'0x10cc0048da'

>>> main('0xe95497b')
'0x1e9b002d52'

>>> main('0xdbc9926')
'0xdb6002726'

>>> main('0x1153cfc')
'0x111c001d4f'

Вариант №21

Задача №8

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

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

Десятичная строка.
0 2 3 12 13 17 18 22 Z1 Z2 Z3 Z4

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

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

Тесты:

>>> main('1063791')
(7, 877, 1, 4)

>>> main('6245490')
(2, 398, 26, 23)

>>> main('2633740')
(4, 513, 1, 10)

>>> main('4837534')
(6, 531, 14, 18)

Вариант №22

Задача №8

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

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

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

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

Десятичная строка.
0 1 7 8 13 14 22 23 30 M1 M2 M3 M4

Тесты:

>>> main(('0x0', '0x4d', '0x1b', '0x175'))
'6118298'

>>> main(('0x1', '0x36', '0x37', '0x70'))
'1849197'

>>> main(('0x0', '0x42', '0x2b', '0x15c'))
'5712772'

>>> main(('0x1', '0x3d', '0x1f', '0x108'))
'4333435'

Вариант №23

Задача №8

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

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

Целое.
0 4 5 7 8 15 W1 W2 W3 16 17 19 20 29 30 31 W3 W4 W5 W6

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

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

Тесты:

>>> main(534429568)
{'W1': 0, 'W2': 4, 'W3': 191, 'W4': 5, 'W5': 509, 'W6': 0}

>>> main(512602601)
{'W1': 9, 'W2': 7, 'W3': 433, 'W4': 6, 'W5': 488, 'W6': 0}

>>> main(3408583881)
{'W1': 9, 'W2': 6, 'W3': 220, 'W4': 5, 'W5': 178, 'W6': 3}

>>> main(1457568212)
{'W1': 20, 'W2': 6, 'W3': 185, 'W4': 0, 'W5': 366, 'W6': 1}

Вариант №24

Задача №8

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

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

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

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

Десятичная строка.
0 2 3 11 12 16 17 18 P2 P3 P4

Тесты:

>>> main([('P2', '0xb0'), ('P3', '0x16'), ('P4', '0x1')])
'222592'

>>> main([('P2', '0x150'), ('P3', '0x1a'), ('P4', '0x2')])
'371328'

>>> main([('P2', '0x19e'), ('P3', '0x3'), ('P4', '0x2')])
'277744'

>>> main([('P2', '0x1e'), ('P3', '0xe'), ('P4', '0x2')])
'319728'

Вариант №25

Задача №8

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

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

Целое.
0 5 6 7 8 9 16 17 21 B1 B2 B3 B5

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

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

Тесты:

>>> main(1790942)
[('B1', '30'), ('B2', '3'), ('B3', '1'), ('B5', '13')]

>>> main(2614963)
[('B1', '51'), ('B2', '2'), ('B3', '0'), ('B5', '19')]

>>> main(524307)
[('B1', '19'), ('B2', '0'), ('B3', '0'), ('B5', '4')]

>>> main(902403)
[('B1', '3'), ('B2', '0'), ('B3', '1'), ('B5', '6')]

Вариант №26

Задача №8

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

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

Целое.

0 5 6 12 13 15 16 20 21 23 24 25 W1 W2 W3 W4 W5 W6

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

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

0 5 6 10 11 13 14 16 17 23 24 25 W1 W4 W5 W3 W2 W6

Тесты:

>>> main(66339635)
'0x318bd33'

>>> main(18940503)
'0x1120857'

>>> main(7768059)
'0x3f1dbb'

>>> main(58502785)
'0x3755f01'

Вариант №27

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 4 5 14 15 20 N1 N2 N3 21 24 25 34 35 38 39 41 N3 N4 N5

Тесты:

>>> main(('0xe', '0x2bb', '0x89', '0x1c3', '0xd'))
'0x6b8644d76e'

>>> main(('0x6', '0x170', '0x3a7', '0x8c', '0x0'))
'0x119d3ae06'

>>> main(('0x1d', '0x27', '0x1a9', '0x235', '0x3'))
'0x1c6ad484fd'

>>> main(('0x1d', '0x37c', '0x265', '0x119', '0xc'))
'0x623332ef9d'

Вариант №28

Задача №8

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

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

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

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

Десятичная строка.
0 2 3 8 9 10 11 12 13 C1 C2 C3 C4 C5

Тесты:

>>> main([('C1', 6), ('C2', 0), ('C3', 1), ('C4', 1), ('C5', 0)])
'2566'

>>> main([('C1', 4), ('C2', 2), ('C3', 3), ('C4', 0), ('C5', 1)])
'5652'

>>> main([('C1', 2), ('C2', 55), ('C3', 3), ('C4', 1), ('C5', 2)])
'12218'

>>> main([('C1', 0), ('C2', 7), ('C3', 3), ('C4', 1), ('C5', 0)])
'3640'

Вариант №29

Задача №8

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

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

Целое.

0 1 7 8 17 18 20 M1 M2 M4 21 27 28 34 35 40 M4 M5 M6

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

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

0 5 6 12 13 20 M6 M5 21 22 23 24 33 34 40 M1 M4 M2

Тесты:

>>> main(811043052545)
'0x17b801357'

>>> main(1096263867789)
'0x11b9a801cdf'

>>> main(798538560757)
'0x1eb26800797'

>>> main(588424562822)
'0x10c35000411'

Вариант №30

Задача №8

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

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

Шестнадцатиричная строка.
0 2 3 4 5 10 11 16 17 21 L1 L2 L3 L4 L5

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

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

Тесты:

>>> main('0x2911f0')
{'L1': '0', 'L2': '2', 'L3': '15', 'L4': '34', 'L5': '20'}

>>> main('0x18d66')
{'L1': '6', 'L2': '0', 'L3': '43', 'L4': '49', 'L5': '0'}

>>> main('0xe9c07')
{'L1': '7', 'L2': '0', 'L3': '32', 'L4': '19', 'L5': '7'}

>>> main('0x354282')
{'L1': '2', 'L2': '0', 'L3': '20', 'L4': '40', 'L5': '26'}

Вариант №31

Задача №8

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

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

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

0 2 3 10 11 16 17 22 U1 U2 U3 U4

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

Целое.

0 5 6 11 12 19 20 22 U4 U3 U2 U1

Тесты:

>>> main('3543121')
1089691

>>> main('5397150')
6632169

>>> main('6333519')
7902512

>>> main('6208745')
1693167

Вариант №32

Задача №8

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

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

Шестнадцатиричная строка.
0 4 5 10 11 14 15 24 L1 L2 L3 L4

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

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

Тесты:

>>> main('0x100eeb1')
[('L1', 17), ('L2', 53), ('L3', 13), ('L4', 513)]

>>> main('0xdb6b1d')
[('L1', 29), ('L2', 24), ('L3', 13), ('L4', 438)]

>>> main('0x1f9fac3')
[('L1', 3), ('L2', 22), ('L3', 15), ('L4', 1011)]

>>> main('0xcb1456')
[('L1', 22), ('L2', 34), ('L3', 2), ('L4', 406)]

Вариант №33

Задача №8

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

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

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

0 7 8 9 10 14 15 19 S1 S2 S3 S4

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

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

0 7 8 12 13 14 15 19 S1 S3 S2 S4

Тесты:

>>> main('0x534fe')
'0x50dfe'

>>> main('0x68f83')
'0x6e383'

>>> main('0x78532')
'0x7a132'

>>> main('0xecf5d')
'0xef35d'

Вариант №34

Задача №8

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

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

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

0 7 8 15 16 19 20 22 F2 F3 F4 23 26 27 36 37 45 F4 F5 F6

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

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

0 3 4 12 13 22 F3 F6 F5 23 29 30 37 38 45 F4 F2

Тесты:

>>> main('0x38330d63e9db')
'64047278734355'

>>> main('0x2d46d6c20613')
'1650175202978'

>>> main('0x11272a0daab5')
'46729514494109'

>>> main('0xfd0c6ef843a')
'36284810856431'

Вариант №35

Задача №8

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

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

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

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

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

Тесты:

>>> main('10528')
(0, 0, 9, 2, 1)

>>> main('8771')
(3, 0, 18, 0, 1)

>>> main('23639')
(7, 1, 2, 7, 2)

>>> main('16960')
(0, 0, 18, 0, 2)

Вариант №36

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 8 9 14 15 18 Z1 Z2 Z3 19 24 25 33 34 36 37 Z3 Z4 Z5 Z6

Тесты:

>>> main(('54', '40', '677', '271', '7', '1'))
'0x3e1f52d036'

>>> main(('87', '1', '602', '367', '5', '1'))
'0x36df2d0257'

>>> main(('35', '36', '665', '442', '5', '1'))
'0x37754cc823'

>>> main(('182', '20', '549', '227', '4', '0'))
'0x11c712a8b6'

Вариант №37

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 6 7 13 14 15 17 18 B1 B2 B3 B4 B5

Тесты:

>>> main([('B1', 117), ('B2', 111), ('B3', 0), ('B4', 7), ('B5', 1)])
'0x7b7f5'

>>> main([('B1', 57), ('B2', 39), ('B3', 1), ('B4', 7), ('B5', 1)])
'0x7d3b9'

>>> main([('B1', 98), ('B2', 115), ('B3', 0), ('B4', 3), ('B5', 1)])
'0x5b9e2'

>>> main([('B1', 83), ('B2', 111), ('B3', 1), ('B4', 6), ('B5', 0)])
'0x377d3'

Вариант №38

Задача №8

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

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

Шестнадцатиричная строка.
0 1 5 6 15 16 21 R2 R3 R4

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

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

Тесты:

>>> main('0x11c123')
{'R2': 17, 'R3': 772, 'R4': 17}

>>> main('0x1103e8')
{'R2': 20, 'R3': 15, 'R4': 17}

>>> main('0xa152c')
{'R2': 22, 'R3': 84, 'R4': 10}

>>> main('0x266e1')
{'R2': 16, 'R3': 411, 'R4': 2}

Вариант №39

Задача №8

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

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

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

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

Десятичная строка.
0 8 9 14 15 22 23 M1 M2 M3 M4 24 28 29 36 37 46 M4 M5 M6

Тесты:

>>> main((187, 25, 176, 25, 181, 458))
'63044429820603'

>>> main((502, 27, 15, 41, 33, 281))
'38638407104502'

>>> main((178, 17, 105, 12, 137, 990))
'136138219365042'

>>> main((152, 58, 121, 50, 62, 531))
'73013793715352'

Вариант №40

Задача №8

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

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

Шестнадцатиричная строка.
0 1 2 4 5 8 9 12 H2 H3 H4

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

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

Тесты:

>>> main('0x17e9')
(2, 15, 11)

>>> main('0x366')
(1, 11, 1)

>>> main('0x1ec0')
(0, 6, 15)

>>> main('0xe11')
(4, 0, 7)