ИНБО-09-22

Вариант №1

Задача №8

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

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

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

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

Целое.
0 8 9 10 11 14 15 16 S1 S2 S3 S4 17 20 21 25 26 33 S4 S5

Тесты:

>>> main([('S1', '365'), ('S2', '1'), ('S3', '10'), ('S4', '10'), ('S5', '24')])
50680685

>>> main([('S1', '426'), ('S2', '3'), ('S3', '10'), ('S4', '46'), ('S5', '22')])
47667114

>>> main([('S1', '212'), ('S2', '1'), ('S3', '6'), ('S4', '5'), ('S5', '31')])
65188564

>>> main([('S1', '162'), ('S2', '3'), ('S3', '9'), ('S4', '34'), ('S5', '27')])
57757346

Вариант №2

Задача №8

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

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

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

0 4 5 12 13 15 16 21 22 29 A1 A2 A3 A4 A5

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

Целое.

0 7 8 13 14 16 17 21 22 29 A2 A4 A3 A1 A5

Тесты:

>>> main('31394934')
32251747

>>> main('416890151')
416176617

>>> main('59367900')
62507278

>>> main('514233638')
512566953

Вариант №3

Задача №8

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

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

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

0 1 2 7 8 12 13 18 19 20 O1 O2 O3 O5

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

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

0 1 2 7 8 12 13 18 19 20 O5 O3 O2 O1

Тесты:

>>> main('1829666')
'0x110b03'

>>> main('308553')
'0xa5500'

>>> main('2019424')
'0x31003'

>>> main('77692')
'0x3ef00'

Вариант №4

Задача №8

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

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

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

0 8 9 12 13 22 23 27 H2 H3 H4

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

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

0 3 4 8 9 18 19 27 H2 H4 H3

Тесты:

>>> main('0xa18d552')
'0x18d4a'

>>> main('0xda89dca')
'0x289be'

>>> main('0x4ab6797')
'0x2b693'

>>> main('0x2625be4')
'0x6244d'

Вариант №5

Задача №8

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

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

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

0 5 6 7 8 14 15 16 P1 P2 P3 P4 17 24 25 33 P5 P6

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

Целое.

0 1 2 7 8 9 10 16 P4 P1 P2 P5 17 18 26 27 33 P5 P6 P3

Тесты:

>>> main('12303619132')
11370411248

>>> main('788869862')
6717049754

>>> main('14642403121')
11791335622

>>> main('16181166900')
529068242

Вариант №6

Задача №8

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

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

Шестнадцатиричная строка.
0 3 4 13 14 15 16 L1 L2 L3 L4 17 19 20 26 27 32 L4 L5 L6

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

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

Тесты:

>>> main('0x1d84a0cb1')
{'L1': 1, 'L2': 203, 'L3': 0, 'L4': 20, 'L5': 4, 'L6': 59}

>>> main('0xdbaa7a5e')
{'L1': 14, 'L2': 933, 'L3': 1, 'L4': 20, 'L5': 58, 'L6': 27}

>>> main('0x8600e4e2')
{'L1': 2, 'L2': 590, 'L3': 1, 'L4': 1, 'L5': 96, 'L6': 16}

>>> main('0x75660886')
{'L1': 6, 'L2': 136, 'L3': 0, 'L4': 12, 'L5': 86, 'L6': 14}

Вариант №7

Задача №8

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

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

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

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

Десятичная строка.
0 1 2 6 7 10 11 18 H1 H3 H4

Тесты:

>>> main((0, 12, 200))
'411136'

>>> main((0, 4, 44))
'90624'

>>> main((0, 10, 138))
'283904'

>>> main((3, 14, 248))
'509699'

Вариант №8

Задача №8

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

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

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

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

Десятичная строка.
0 9 10 11 12 13 22 23 28 I1 I3 I4 I5

Тесты:

>>> main([('I1', 391), ('I3', 1), ('I4', 501), ('I5', 20)])
'171878791'

>>> main([('I1', 352), ('I3', 0), ('I4', 178), ('I5', 44)])
'370557280'

>>> main([('I1', 73), ('I3', 1), ('I4', 681), ('I5', 44)])
'374679625'

>>> main([('I1', 878), ('I3', 1), ('I4', 317), ('I5', 22)])
'187149166'

Вариант №9

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 6 7 16 17 V1 V2 V3 18 26 27 28 35 V3 V4 V5

Тесты:

>>> main([('V1', '41'), ('V2', '699'), ('V3', '803'), ('V4', '0'), ('V5', '80')])
'0x506475da9'

>>> main([('V1', '89'), ('V2', '999'), ('V3', '523'), ('V4', '0'), ('V5', '132')])
'0x84417f3d9'

>>> main([('V1', '87'), ('V2', '886'), ('V3', '177'), ('V4', '1'), ('V5', '252')])
'0xfc963bb57'

>>> main([('V1', '40'), ('V2', '71'), ('V3', '610'), ('V4', '1'), ('V5', '156')])
'0x9ccc423a8'

Вариант №10

Задача №8

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

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

Шестнадцатиричная строка.
0 5 6 9 10 15 16 19 E2 E3 E4 20 21 22 29 30 38 E4 E5 E6

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

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

Тесты:

>>> main('0xe9d4c690b')
{'E2': '4', 'E3': '26', 'E4': '12', 'E5': '117', 'E6': '58'}

>>> main('0x460829e667')
{'E2': '9', 'E3': '57', 'E4': '41', 'E5': '32', 'E6': '280'}

>>> main('0x1278a0f6b1')
{'E2': '10', 'E3': '61', 'E4': '32', 'E5': '226', 'E6': '73'}

>>> main('0x366238c41d')
{'E2': '0', 'E3': '49', 'E4': '56', 'E5': '136', 'E6': '217'}

Вариант №11

Задача №8

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

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

Целое.
0 1 7 8 9 10 15 16 21 X1 X2 X3 X4 X5

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

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

Тесты:

>>> main(644332)
(0, 118, 0, 53, 9)

>>> main(245806)
(0, 23, 0, 48, 3)

>>> main(2262804)
(0, 10, 3, 33, 34)

>>> main(3401711)
(1, 119, 3, 57, 51)

Вариант №12

Задача №8

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

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

Целое.

0 3 4 7 8 9 10 17 18 20 A1 A2 A3 A4 A5

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

Целое.

0 7 8 11 12 13 14 16 17 20 A4 A2 A3 A5 A1

Тесты:

>>> main(1784831)
2080718

>>> main(885844)
574817

>>> main(804324)
581137

>>> main(1098726)
867888

Вариант №13

Задача №8

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

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

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

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

Десятичная строка.
0 5 6 8 9 11 12 20 21 22 28 U1 U3 U4 U5 U6

Тесты:

>>> main(('59', '5', '20', '0', '19'))
'79776315'

>>> main(('7', '3', '171', '1', '107'))
'451589639'

>>> main(('8', '0', '21', '1', '6'))
'27349000'

>>> main(('56', '4', '183', '0', '107'))
'449542200'

Вариант №14

Задача №8

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

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

Целое.
0 1 2 7 8 10 11 14 15 P1 P2 P3 P4 P5

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

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

Тесты:

>>> main(25610)
[('P1', '2'), ('P2', '2'), ('P3', '4'), ('P4', '12'), ('P5', '0')]

>>> main(61876)
[('P1', '0'), ('P2', '45'), ('P3', '1'), ('P4', '14'), ('P5', '1')]

>>> main(62313)
[('P1', '1'), ('P2', '26'), ('P3', '3'), ('P4', '14'), ('P5', '1')]

>>> main(14284)
[('P1', '0'), ('P2', '51'), ('P3', '7'), ('P4', '6'), ('P5', '0')]

Вариант №15

Задача №8

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

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

Десятичная строка.
0 4 5 13 14 16 N1 N3 17 20 21 25 26 33 N3 N4 N5

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

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

Тесты:

>>> main('8022958906')
{'N1': 26, 'N3': 82, 'N4': 17, 'N5': 119}

>>> main('5094353188')
{'N1': 4, 'N3': 22, 'N4': 29, 'N5': 75}

>>> main('8580818132')
{'N1': 20, 'N3': 83, 'N4': 27, 'N5': 127}

>>> main('7048161471')
{'N1': 31, 'N3': 105, 'N4': 0, 'N5': 105}

Вариант №16

Задача №8

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

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

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

0 8 9 18 19 S1 S2 S3 20 21 25 26 33 34 39 S3 S4 S5

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

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

0 7 8 9 10 18 19 S5 S3 S1 20 24 25 29 30 39 S4 S2

Тесты:

>>> main('5311011517')
'0xf34802f54f'

>>> main('7664802131')
'0x730c054f72'

>>> main('12386498873')
'0x5f2404e5b8'

>>> main('4980975728')
'0x750e01c04a'

Вариант №17

Задача №8

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

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

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

0 1 5 6 7 8 H1 H2 H4

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

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

0 1 2 3 7 8 H1 H4 H2

Тесты:

>>> main('291')
'0x8d'

>>> main('486')
'0x9e'

>>> main('318')
'0xfc'

>>> main('126')
'0xf8'

Вариант №18

Задача №8

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

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

Целое.
0 7 8 9 10 11 15 B1 B2 B3 B4

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

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

Тесты:

>>> main(18669)
('237', '0', '0', '9')

>>> main(19132)
('188', '2', '0', '9')

>>> main(25425)
('81', '3', '0', '12')

>>> main(3975)
('135', '3', '1', '1')

Вариант №19

Задача №8

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

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

Целое.
0 2 3 4 5 6 7 13 G1 G2 G3 G4

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

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

Тесты:

>>> main(12540)
{'G1': 4, 'G2': 3, 'G3': 3, 'G4': 97}

>>> main(10880)
{'G1': 0, 'G2': 0, 'G3': 0, 'G4': 85}

>>> main(6460)
{'G1': 4, 'G2': 3, 'G3': 1, 'G4': 50}

>>> main(12838)
{'G1': 6, 'G2': 0, 'G3': 1, 'G4': 100}

Вариант №20

Задача №8

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

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

Целое.

0 3 4 5 6 12 13 17 D1 D3 D4

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

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

0 4 5 11 12 15 16 17 D4 D3 D1

Тесты:

>>> main(112491)
'48045'

>>> main(111797)
'23117'

>>> main(82424)
'33002'

>>> main(80592)
'3433'

Вариант №21

Задача №8

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

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

Десятичная строка.
0 4 5 8 9 12 13 17 18 24 B1 B2 B3 B4 B5

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

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

Тесты:

>>> main('20478600')
[('B1', '0x8'), ('B2', '0x4'), ('B3', '0xd'), ('B4', '0x3'), ('B5', '0x4e')]

>>> main('6048240')
[('B1', '0x10'), ('B2', '0xf'), ('B3', '0x4'), ('B4', '0x2'), ('B5', '0x17')]

>>> main('8922816')
[('B1', '0x0'), ('B2', '0x6'), ('B3', '0x3'), ('B4', '0x1'), ('B5', '0x22')]

>>> main('5282672')
[('B1', '0x10'), ('B2', '0xb'), ('B3', '0xd'), ('B4', '0x4'), ('B5', '0x14')]

Вариант №22

Задача №8

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

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

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

0 4 5 14 15 17 18 21 22 25 26 M2 M3 M4 M5 M6

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

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

0 2 3 6 7 16 17 18 21 22 26 M3 M5 M2 M6 M4

Тесты:

>>> main('124073289')
'0x26d56a'

>>> main('48340465')
'0x2077db'

>>> main('130483457')
'0x6147e'

>>> main('110256417')
'0x1384d4'

Вариант №23

Задача №8

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

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

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

0 5 6 14 15 18 S1 S2 S3 19 23 24 29 30 37 S3 S4 S5

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

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

0 5 6 11 12 18 S4 S1 S5 19 20 28 29 37 S5 S3 S2

Тесты:

>>> main('0x383f0f91dd')
'0x8e1fe077f'

>>> main('0x3c4948f028')
'0x38091f1a09'

>>> main('0x1334182871')
'0x142304cc74'

>>> main('0x173fa7b43a')
'0x1a14f5cebf'

Вариант №24

Задача №8

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

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

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

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

Десятичная строка.
0 9 10 16 17 21 22 28 R1 R2 R4

Тесты:

>>> main([('R1', '0x163'), ('R2', '0x5a'), ('R4', '0x58')])
'369191267'

>>> main([('R1', '0x257'), ('R2', '0x6f'), ('R4', '0x3a')])
'243383895'

>>> main([('R1', '0x3b9'), ('R2', '0x27'), ('R4', '0x5a')])
'377528249'

>>> main([('R1', '0x23a'), ('R2', '0x67'), ('R4', '0x43')])
'281124410'

Вариант №25

Задача №8

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

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

Целое.

0 4 5 10 11 17 18 23 24 30 Q1 Q2 Q3 Q5

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

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

0 5 6 12 13 17 18 23 24 30 Q3 Q1 Q2 Q5

Тесты:

>>> main(331365349)
'0x137ca1c0'

>>> main(81117899)
'0x4596e00'

>>> main(2119236309)
'0x7e5aa7c0'

>>> main(2094844821)
'0x7c72a640'

Вариант №26

Задача №8

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

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

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

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

Целое.
0 2 3 10 11 16 Z1 Z2 Z3 17 19 20 28 29 32 Z3 Z4 Z5

Тесты:

>>> main({'Z1': 5, 'Z2': 110, 'Z3': 32, 'Z4': 467, 'Z5': 12})
6932202357

>>> main({'Z1': 5, 'Z2': 151, 'Z3': 132, 'Z4': 397, 'Z5': 13})
7395878077

>>> main({'Z1': 2, 'Z2': 62, 'Z3': 442, 'Z4': 141, 'Z5': 7})
3906851314

>>> main({'Z1': 2, 'Z2': 131, 'Z3': 266, 'Z4': 326, 'Z5': 5})
3026736154

Вариант №27

Задача №8

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

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

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

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

Целое.
0 1 4 5 7 8 U1 U2 U3 U4

Тесты:

>>> main([('U1', '0x0'), ('U2', '0xa'), ('U3', '0x1'), ('U4', '0x0')])
52

>>> main([('U1', '0x1'), ('U2', '0xc'), ('U3', '0x4'), ('U4', '0x0')])
153

>>> main([('U1', '0x0'), ('U2', '0xd'), ('U3', '0x3'), ('U4', '0x0')])
122

>>> main([('U1', '0x1'), ('U2', '0xa'), ('U3', '0x5'), ('U4', '0x0')])
181

Вариант №28

Задача №8

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

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

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

0 1 4 5 7 8 15 I1 I2 I4

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

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

0 2 3 6 7 8 15 I2 I1 I4

Тесты:

>>> main('33196')
'0x8130'

>>> main('61314')
'0xef08'

>>> main('56307')
'0xdbc8'

>>> main('32667')
'0x7fe8'

Вариант №29

Задача №8

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

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

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

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

Целое.
0 5 6 12 13 14 15 23 X2 X3 X4

Тесты:

>>> main((123, 0, 177))
5807808

>>> main((42, 2, 319))
10472064

>>> main((20, 2, 272))
8930560

>>> main((121, 0, 283))
9281088

Вариант №30

Задача №8

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

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

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

0 2 3 5 6 8 9 13 14 22 B1 B2 B3 B5

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

Целое.

0 2 3 11 12 16 17 19 20 22 B3 B5 B2 B1

Тесты:

>>> main('3591397')
5768923

>>> main('7214162')
2362817

>>> main('4244995')
3147800

>>> main('952822')
7078359

Вариант №31

Задача №8

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

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

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

0 6 7 16 17 20 21 22 23 25 N1 N2 N4 N5

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

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

0 2 3 4 5 11 12 21 22 25 N5 N4 N1 N2

Тесты:

>>> main('0x3ecbccb')
'0x17997f'

>>> main('0x325e88c')
'0x3d118e'

>>> main('0xcff19e')
'0x3e33d1'

>>> main('0xfc448d')
'0x891b9'

Вариант №32

Задача №8

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

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

Целое.
0 6 7 8 12 13 15 16 20 G1 G2 G4 G5

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

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

Тесты:

>>> main(266323)
(83, 0, 0, 4)

>>> main(1751052)
(12, 0, 5, 26)

>>> main(1959539)
(115, 0, 7, 29)

>>> main(2073001)
(41, 1, 5, 31)

Вариант №33

Задача №8

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

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

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

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

Целое.
0 8 9 15 16 18 O1 O2 O3 19 23 24 30 31 36 O4 O5 O6

Тесты:

>>> main({'O1': 148, 'O2': 64, 'O3': 6, 'O4': 30, 'O5': 68, 'O6': 49})
106383704212

>>> main({'O1': 168, 'O2': 36, 'O3': 5, 'O4': 30, 'O5': 63, 'O6': 27})
59055098024

>>> main({'O1': 479, 'O2': 113, 'O3': 6, 'O4': 3, 'O5': 4, 'O6': 3})
6511584223

>>> main({'O1': 152, 'O2': 115, 'O3': 4, 'O4': 5, 'O5': 58, 'O6': 21})
46073177752

Вариант №34

Задача №8

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

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

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

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

Десятичная строка.
0 9 10 11 12 15 16 17 18 24 T1 T2 T3 T4 T5

Тесты:

>>> main(('953', '2', '5', '0', '5'))
'1334201'

>>> main(('603', '0', '1', '2', '100'))
'26350171'

>>> main(('848', '0', '11', '0', '1'))
'308048'

>>> main(('217', '0', '15', '3', '52'))
'13889753'

Вариант №35

Задача №8

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

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

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

0 4 5 6 13 14 17 18 22 V2 V3 V4 V5

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

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

0 4 5 9 10 17 18 21 22 V5 V3 V4 V2

Тесты:

>>> main('7028457')
'0x73ef40'

>>> main('3824615')
'0x65bdc0'

>>> main('2035502')
'0x70f0e0'

>>> main('1681135')
'0x5a6cc0'

Вариант №36

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 1 2 7 8 14 15 20 B1 B2 B3 B4

Тесты:

>>> main((2, 36, 124, 14))
'0x77c92'

>>> main((1, 32, 125, 35))
'0x11fd81'

>>> main((1, 28, 90, 18))
'0x95a71'

>>> main((1, 9, 39, 62))
'0x1f2725'

Вариант №37

Задача №8

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

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

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

0 4 5 11 12 20 21 28 E1 E2 E4

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

Целое.

0 6 7 14 15 19 20 28 E2 E4 E1

Тесты:

>>> main('432537040')
550766

>>> main('358349376')
21842

>>> main('26960542')
984596

>>> main('490695235')
128210

Вариант №38

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 1 10 11 19 20 25 J1 J3 J4

Тесты:

>>> main([('J1', '0x0'), ('J3', '0x5d'), ('J4', '0x22')])
'0x222e800'

>>> main([('J1', '0x1'), ('J3', '0x5b'), ('J4', '0x34')])
'0x342d801'

>>> main([('J1', '0x0'), ('J3', '0x1bd'), ('J4', '0x3f')])
'0x3fde800'

>>> main([('J1', '0x1'), ('J3', '0x80'), ('J4', '0x14')])
'0x1440001'

Вариант №39

Задача №8

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

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

Десятичная строка.
0 1 2 3 8 9 16 S1 S2 S3 S4 S5

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

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

Тесты:

>>> main('115948')
{'S1': '0x0', 'S2': '0x0', 'S3': '0x1', 'S4': '0x1d', 'S5': '0xe2'}

>>> main('42337')
{'S1': '0x1', 'S2': '0x0', 'S3': '0x0', 'S4': '0x2c', 'S5': '0x52'}

>>> main('121670')
{'S1': '0x0', 'S2': '0x1', 'S3': '0x1', 'S4': '0x28', 'S5': '0xed'}

>>> main('111400')
{'S1': '0x0', 'S2': '0x0', 'S3': '0x0', 'S4': '0x25', 'S5': '0xd9'}

Вариант №40

Задача №8

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

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

Шестнадцатиричная строка.
0 9 10 14 15 19 S2 S3 20 24 25 34 35 39 S3 S4 S5

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

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

Тесты:

>>> main('0x91c46f796a')
{'S2': '30', 'S3': '222', 'S4': '226', 'S5': '18'}

>>> main('0xb0d46c911b')
{'S2': '4', 'S3': '217', 'S4': '106', 'S5': '22'}

>>> main('0x5d401a11ab')
{'S2': '4', 'S3': '52', 'S4': '672', 'S5': '11'}

>>> main('0xd49a52f155')
{'S2': '28', 'S3': '165', 'S4': '589', 'S5': '26'}