ИКБО-06-22

Вариант №1

Задача №8

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

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

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

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

Десятичная строка.
0 7 8 11 12 19 20 25 O1 O2 O3 O4

Тесты:

>>> main([('O1', '0x70'), ('O2', '0x7'), ('O3', '0x12'), ('O4', '0x26')])
'39921520'

>>> main([('O1', '0xc'), ('O2', '0xe'), ('O3', '0x79'), ('O4', '0x1f')])
'33005068'

>>> main([('O1', '0x2c'), ('O2', '0xb'), ('O3', '0x2a'), ('O4', '0x8')])
'8563500'

>>> main([('O1', '0x57'), ('O2', '0x4'), ('O3', '0x17'), ('O4', '0x2')])
'2192471'

Вариант №2

Задача №8

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

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

Целое.

0 1 7 8 16 17 18 R1 R2 R3 R4

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

Целое.

0 8 9 10 11 12 18 R3 R4 R1 R2

Тесты:

>>> main(424164)
468600

>>> main(398698)
218645

>>> main(170816)
131739

>>> main(117159)
342473

Вариант №3

Задача №8

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

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

Десятичная строка.
0 2 3 10 11 17 18 24 Q1 Q2 Q3 Q4

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

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

Тесты:

>>> main('29658863')
('0x7', '0xdd', '0x11', '0x71')

>>> main('24371520')
('0x0', '0x28', '0x7c', '0x5c')

>>> main('9691612')
('0x4', '0x3b', '0x7c', '0x24')

>>> main('24196627')
('0x3', '0xc2', '0x26', '0x5c')

Вариант №4

Задача №8

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

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

Десятичная строка.
0 3 4 13 14 17 V1 V2 V3 18 19 20 21 22 30 31 34 V3 V4 V5 V6

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

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

Тесты:

>>> main('7522908788')
{'V1': '0x4', 'V2': '0x3a7', 'V3': '0x19', 'V4': '0x2', 'V5': '0x101', 'V6': '0x3'}

>>> main('15589062030')
{'V1': '0xe', 'V2': '0x358', 'V3': '0x38', 'V4': '0x2', 'V5': '0x84', 'V6': '0x7'}

>>> main('34192259071')
{'V1': '0xf', 'V2': '0x37f', 'V3': '0x11', 'V4': '0x0', 'V5': '0x1d8', 'V6': '0xf'}

>>> main('12196947288')
{'V1': '0x8', 'V2': '0x255', 'V3': '0x3a', 'V4': '0x3', 'V5': '0x15b', 'V6': '0x5'}

Вариант №5

Задача №8

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

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

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

0 1 4 5 10 11 14 15 24 D1 D2 D3 D5

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

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

0 3 4 9 10 19 20 23 24 D2 D3 D5 D1

Тесты:

>>> main('28873220')
'0xdc502'

>>> main('32227537')
'0x10f5c68'

>>> main('12270246')
'0x5d953'

>>> main('7028258')
'0x35b11'

Вариант №6

Задача №8

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

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

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

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

Целое.
0 3 4 6 7 15 16 21 Z1 Z2 Z3 Z4 22 25 26 34 35 42 Z4 Z6

Тесты:

>>> main(('0x4', '0x6', '0x40', '0x38f', '0x3c'))
2061644013668

>>> main(('0x5', '0x3', '0x3e', '0x3b2', '0x16'))
755976249141

>>> main(('0xa', '0x5', '0x114', '0x198', '0x44'))
2336488983130

>>> main(('0xc', '0x5', '0x115', '0x38f', '0xb2'))
6116093168348

Вариант №7

Задача №8

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

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

Шестнадцатиричная строка.
0 7 8 16 17 18 27 J1 J2 J4

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

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

Тесты:

>>> main('0xd8ae0ad')
[('J1', '173'), ('J2', '224'), ('J4', '866')]

>>> main('0xc721d06')
[('J1', '6'), ('J2', '29'), ('J4', '796')]

>>> main('0x27260d5')
[('J1', '213'), ('J2', '96'), ('J4', '156')]

>>> main('0xd2de8e8')
[('J1', '232'), ('J2', '488'), ('J4', '843')]

Вариант №8

Задача №8

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

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

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

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

Целое.
0 7 8 11 12 19 20 25 Q1 Q2 Q4

Тесты:

>>> main(('154', '8', '46'))
48236698

>>> main(('75', '15', '30'))
31461195

>>> main(('158', '5', '62'))
65013150

>>> main(('246', '0', '2'))
2097398

Вариант №9

Задача №8

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

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

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

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

Десятичная строка.
0 3 4 12 13 14 15 18 K1 K2 K3 K4

Тесты:

>>> main([('K1', 2), ('K2', 222), ('K3', 3), ('K4', 12)])
'421346'

>>> main([('K1', 10), ('K2', 404), ('K3', 1), ('K4', 6)])
'211274'

>>> main([('K1', 0), ('K2', 161), ('K3', 1), ('K4', 6)])
'207376'

>>> main([('K1', 14), ('K2', 177), ('K3', 3), ('K4', 10)])
'355102'

Вариант №10

Задача №8

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

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

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

0 1 2 3 4 5 10 Z1 Z2 Z4

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

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

0 1 2 3 8 9 10 Z1 Z4 Z2

Тесты:

>>> main('1416')
'1376'

>>> main('258')
'68'

>>> main('772')
'704'

>>> main('268')
'1600'

Вариант №11

Задача №8

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

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

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

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

Десятичная строка.
0 9 10 16 U1 17 18 19 24 25 32 U3 U4

Тесты:

>>> main([('U1', '960'), ('U3', '34'), ('U4', '27')])
'923796416'

>>> main([('U1', '257'), ('U3', '54'), ('U4', '116')])
'3920625921'

>>> main([('U1', '50'), ('U3', '32'), ('U4', '235')])
'7902068786'

>>> main([('U1', '500'), ('U3', '34'), ('U4', '29')])
'990904820'

Вариант №12

Задача №8

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

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

Целое.

0 2 3 10 11 15 M1 M2 M3 16 17 20 21 26 27 31 M3 M4 M5 M6

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

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

0 2 3 6 7 11 12 15 M1 M4 M6 M5 16 17 18 23 24 31 M5 M3 M2

Тесты:

>>> main(1710780741)
'674952805'

>>> main(3855378291)
'3996315187'

>>> main(1915028168)
'1501632272'

>>> main(1736394809)
'128431737'

Вариант №13

Задача №8

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

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

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

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

Десятичная строка.
0 8 9 18 19 23 S1 S2 S3 24 25 34 35 41 42 47 S3 S4 S5

Тесты:

>>> main([('S1', '270'), ('S2', '907'), ('S3', '35'), ('S4', '755'), ('S5', '1')])
'59712149262'

>>> main([('S1', '329'), ('S2', '521'), ('S3', '50'), ('S4', '311'), ('S5', '93')])
'3205917578057'

>>> main([('S1', '249'), ('S2', '678'), ('S3', '22'), ('S4', '258'), ('S5', '40')])
'1383058459897'

>>> main([('S1', '14'), ('S2', '550'), ('S3', '25'), ('S4', '213'), ('S5', '42')])
'1450269494286'

Вариант №14

Задача №8

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

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

Целое.
0 1 10 11 12 18 19 20 C1 C2 C4 C5

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

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

Тесты:

>>> main(502590)
{'C1': 0, 'C2': 415, 'C4': 122, 'C5': 0}

>>> main(374437)
{'C1': 1, 'C2': 850, 'C4': 91, 'C5': 0}

>>> main(1869329)
{'C1': 1, 'C2': 776, 'C4': 72, 'C5': 3}

>>> main(1209278)
{'C1': 0, 'C2': 479, 'C4': 39, 'C5': 2}

Вариант №15

Задача №8

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

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

Десятичная строка.
0 1 9 10 13 14 15 18 19 28 F1 F3 F4 F5 F6

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

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

Тесты:

>>> main('200125074')
(0, 10, 0, 11, 381)

>>> main('205073673')
(1, 11, 0, 2, 391)

>>> main('520293404')
(0, 3, 0, 6, 992)

>>> main('3675376')
(0, 5, 0, 0, 7)

Вариант №16

Задача №8

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

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

Целое.
0 1 6 7 14 15 16 24 25 30 C1 C2 C3 C4 C6

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

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

Тесты:

>>> main(2136310846)
{'C1': '0', 'C2': '31', 'C3': '8', 'C4': '1', 'C6': '63'}

>>> main(1705167688)
{'C1': '0', 'C2': '36', 'C3': '150', 'C4': '1', 'C6': '50'}

>>> main(2072457109)
{'C1': '1', 'C2': '10', 'C3': '95', 'C4': '0', 'C6': '61'}

>>> main(98134687)
{'C1': '1', 'C2': '15', 'C3': '213', 'C4': '0', 'C6': '2'}

Вариант №17

Задача №8

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

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

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

0 2 3 8 9 16 17 19 P1 P2 P3 P4

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

Целое.

0 5 6 8 9 11 12 19 P2 P4 P1 P3

Тесты:

>>> main('0x75d37')
716518

>>> main('0x39aa9')
840277

>>> main('0x29dd4')
321658

>>> main('0xa2942')
83304

Вариант №18

Задача №8

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

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

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

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

Десятичная строка.
0 1 4 5 13 14 21 G1 G2 G3

Тесты:

>>> main({'G1': '0x0', 'G2': '0xb', 'G3': '0x82'})
'4182'

>>> main({'G1': '0x1', 'G2': '0x7', 'G3': '0xdb'})
'7023'

>>> main({'G1': '0x0', 'G2': '0x5', 'G3': '0x18'})
'778'

>>> main({'G1': '0x1', 'G2': '0xe', 'G3': '0x153'})
'10877'

Вариант №19

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 5 6 8 9 15 16 18 Q1 Q2 Q3 19 23 24 33 34 36 Q5 Q6

Тесты:

>>> main([('Q1', '0x1f'), ('Q2', '0x4'), ('Q3', '0x33'), ('Q5', '0x397'), ('Q6', '0x0')])
'0x39700671f'

>>> main([('Q1', '0x38'), ('Q2', '0x2'), ('Q3', '0x40'), ('Q5', '0x304'), ('Q6', '0x2')])
'0xb040080b8'

>>> main([('Q1', '0x34'), ('Q2', '0x6'), ('Q3', '0x3d'), ('Q5', '0x13d'), ('Q6', '0x0')])
'0x13d007bb4'

>>> main([('Q1', '0x3a'), ('Q2', '0x4'), ('Q3', '0x4e'), ('Q5', '0x175'), ('Q6', '0x3')])
'0xd75009d3a'

Вариант №20

Задача №8

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

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

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

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

Десятичная строка.
0 4 5 11 12 14 15 17 18 24 25 27 P1 P2 P3 P5 P6

Тесты:

>>> main(('9', '50', '1', '39', '4'))
'144447049'

>>> main(('26', '73', '7', '62', '2'))
'83392826'

>>> main(('10', '75', '4', '99', '7'))
'260852074'

>>> main(('6', '93', '6', '2', '6'))
'201878438'

Вариант №21

Задача №8

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

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

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

0 5 6 7 16 17 19 P1 P2 P3 P4 20 22 23 32 33 39 P4 P6

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

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

0 9 10 15 16 19 P3 P4 20 25 26 27 32 33 39 P2 P1 P6

Тесты:

>>> main('248523048021')
'0x38ac004188'

>>> main('674661017792')
'0x9c0400dc51'

>>> main('191546861863')
'0x2d38002a52'

>>> main('26039808803')
'0x718002fe6'

Вариант №22

Задача №8

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

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

Целое.
0 1 2 11 12 17 18 21 Z1 Z2 Z3 Z4

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

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

Тесты:

>>> main(696651)
{'Z1': '3', 'Z2': '82', 'Z3': '42', 'Z4': '2'}

>>> main(3681398)
{'Z1': '2', 'Z2': '797', 'Z3': '2', 'Z4': '14'}

>>> main(653906)
{'Z1': '2', 'Z2': '660', 'Z3': '31', 'Z4': '2'}

>>> main(656636)
{'Z1': '0', 'Z2': '319', 'Z3': '32', 'Z4': '2'}

Вариант №23

Задача №8

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

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

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

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

Десятичная строка.
0 8 9 14 15 17 18 23 24 E1 E2 E3 E4 E5

Тесты:

>>> main({'E1': '0x1ca', 'E2': '0x3f', 'E3': '0x4', 'E4': '0x14', 'E5': '0x0'})
'5406666'

>>> main({'E1': '0x127', 'E2': '0x4', 'E3': '0x5', 'E4': '0x2', 'E5': '0x1'})
'17467687'

>>> main({'E1': '0x1f9', 'E2': '0x2c', 'E3': '0x7', 'E4': '0x2c', 'E5': '0x1'})
'28563961'

>>> main({'E1': '0x9d', 'E2': '0x2d', 'E3': '0x0', 'E4': '0x1c', 'E5': '0x1'})
'24140445'

Вариант №24

Задача №8

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

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

Шестнадцатиричная строка.
0 1 2 9 10 11 13 14 22 G1 G2 G3 G4 G5

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

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

Тесты:

>>> main('0x68f433')
(3, 12, 1, 6, 419)

>>> main('0x7e68e8')
(0, 58, 0, 5, 505)

>>> main('0x46af09')
(1, 194, 1, 5, 282)

>>> main('0x470e9')
(1, 58, 0, 6, 17)

Вариант №25

Задача №8

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

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

Шестнадцатиричная строка.
0 8 9 15 16 25 26 30 V1 V2 V3 V4

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

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

Тесты:

>>> main('0x7c6f1bb')
{'V1': 443, 'V2': 120, 'V3': 966, 'V4': 1}

>>> main('0x2d43f0c9')
{'V1': 201, 'V2': 120, 'V3': 323, 'V4': 11}

>>> main('0x292d506b')
{'V1': 107, 'V2': 40, 'V3': 301, 'V4': 10}

>>> main('0x6c91db2e')
{'V1': 302, 'V2': 109, 'V3': 145, 'V4': 27}

Вариант №26

Задача №8

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

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

Целое.

0 3 4 10 11 12 13 17 H1 H2 H3 H4 18 20 21 30 31 34 H4 H5 H6

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

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

0 7 8 9 10 13 14 17 H4 H3 H1 H6 18 24 25 34 H2 H5

Тесты:

>>> main(5510530218)
'0x48728a8a0'

>>> main(32271598113)
'0x388bc44c'

>>> main(33719289479)
'0x59da3dc9c'

>>> main(10276611898)
'0x649cd2845'

Вариант №27

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 8 9 16 17 19 O1 O3 20 23 24 25 26 29 30 38 O3 O4 O5 O6

Тесты:

>>> main(('231', '97', '0', '9', '27'))
'0x6e4c200e7'

>>> main(('255', '60', '1', '4', '391'))
'0x61d17800ff'

>>> main(('476', '109', '0', '11', '282'))
'0x46acda01dc'

>>> main(('303', '114', '0', '3', '435'))
'0x6ccce4012f'

Вариант №28

Задача №8

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

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

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

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

Десятичная строка.
0 5 6 12 13 17 O1 O3 18 20 21 29 30 35 O3 O4 O5

Тесты:

>>> main({'O1': '0x3f', 'O3': '0xf0', 'O4': '0x50', 'O5': '0x22'})
'36676960319'

>>> main({'O1': '0x11', 'O3': '0x10', 'O4': '0x19d', 'O5': '0x6'})
'7308705809'

>>> main({'O1': '0x4', 'O3': '0x8b', 'O4': '0x1a', 'O5': '0xb'})
'11866824708'

>>> main({'O1': '0x12', 'O3': '0x1f', 'O4': '0x13f', 'O5': '0x2'})
'2816729106'

Вариант №29

Задача №8

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

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

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

0 8 9 12 13 20 M1 M2 M3 21 22 23 31 32 39 40 41 M3 M4 M5 M6

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

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

0 8 9 18 19 20 M1 M3 M2 21 22 23 31 32 39 40 41 M2 M4 M5 M6

Тесты:

>>> main('213513370211')
'0x31b66e3663'

>>> main('3514437366688')
'0x33244cca7a0'

>>> main('4015935558030')
'0x3a70846998e'

>>> main('322577501846')
'0x4b1b39e096'

Вариант №30

Задача №8

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

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

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

0 6 7 8 9 14 15 18 19 28 T1 T2 T3 T4

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

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

0 1 2 11 12 18 19 24 25 28 T2 T1 T3 T4

Тесты:

>>> main('0x18562')
'0x6162002'

>>> main('0x51866')
'0x14666000'

>>> main('0x88e3')
'0x2263001'

>>> main('0x3837f')
'0xe0ff002'

Вариант №31

Задача №8

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

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

Шестнадцатиричная строка.
0 8 9 15 16 18 S1 S2 19 22 23 26 27 36 37 S4 S5 S6

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

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

Тесты:

>>> main('0x3f511f92f7')
{'S1': '0xf7', 'S2': '0x49', 'S4': '0x2', 'S5': '0x3ea', 'S6': '0x1'}

>>> main('0x15cc92041c')
{'S1': '0x1c', 'S2': '0x2', 'S4': '0x9', 'S5': '0x2b9', 'S6': '0x0'}

>>> main('0x1d0249c7d4')
{'S1': '0x1d4', 'S2': '0x63', 'S4': '0x4', 'S5': '0x3a0', 'S6': '0x0'}

>>> main('0xdfcb735cf')
{'S1': '0x1cf', 'S2': '0x1a', 'S4': '0x9', 'S5': '0x1bf', 'S6': '0x0'}

Вариант №32

Задача №8

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

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

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

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

Десятичная строка.
0 4 5 13 14 16 W1 W2 W3 17 19 20 29 30 31 32 W3 W4 W6

Тесты:

>>> main({'W1': '4', 'W2': '103', 'W3': '29', 'W4': '565', 'W6': '2'})
'4887891172'

>>> main({'W1': '13', 'W2': '162', 'W3': '3', 'W4': '88', 'W6': '0'})
'92329037'

>>> main({'W1': '9', 'W2': '237', 'W3': '12', 'W4': '604', 'W6': '3'})
'7075995049'

>>> main({'W1': '23', 'W2': '72', 'W3': '43', 'W4': '497', 'W6': '1'})
'2669332759'

Вариант №33

Задача №8

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

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

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

0 8 9 12 13 18 19 25 D1 D2 D3

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

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

0 6 7 15 16 21 22 25 D1 D3 D2

Тесты:

>>> main('0x3003b')
'1580416'

>>> main('0x698a7')
'53760896'

>>> main('0x6ff75')
'66566784'

>>> main('0x434a4')
'44126720'

Вариант №34

Задача №8

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

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

Десятичная строка.
0 7 8 9 10 14 15 16 17 G1 G2 G3 G5

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

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

Тесты:

>>> main('141772')
{'G1': 204, 'G2': 1, 'G3': 10, 'G5': 2}

>>> main('18870')
{'G1': 182, 'G2': 1, 'G3': 18, 'G5': 0}

>>> main('139144')
{'G1': 136, 'G2': 3, 'G3': 7, 'G5': 2}

>>> main('186674')
{'G1': 50, 'G2': 1, 'G3': 22, 'G5': 2}

Вариант №35

Задача №8

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

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

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

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

Целое.
0 3 4 11 12 18 19 22 G1 G2 G4

Тесты:

>>> main([('G1', '0x5'), ('G2', '0x67'), ('G4', '0x0')])
1653

>>> main([('G1', '0x0'), ('G2', '0x69'), ('G4', '0x5')])
2623120

>>> main([('G1', '0x8'), ('G2', '0x2'), ('G4', '0xd')])
6815784

>>> main([('G1', '0x7'), ('G2', '0x42'), ('G4', '0x3')])
1573927

Вариант №36

Задача №8

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

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

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

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

Целое.
0 1 2 9 10 18 19 22 D2 D3 D4

Тесты:

>>> main([('D2', '138'), ('D3', '173'), ('D4', '2')])
1226280

>>> main([('D2', '170'), ('D3', '188'), ('D4', '12')])
6484648

>>> main([('D2', '230'), ('D3', '62'), ('D4', '1')])
588696

>>> main([('D2', '235'), ('D3', '496'), ('D4', '6')])
3654572

Вариант №37

Задача №8

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

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

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

0 5 6 8 9 11 12 17 I1 I2 I3

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

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

0 2 3 8 9 14 15 17 I2 I1 I3

Тесты:

>>> main('3907')
'0x3801d'

>>> main('3088')
'0x30080'

>>> main('2942')
'0x281f5'

>>> main('2687')
'0x281f9'

Вариант №38

Задача №8

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

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

Целое.
0 1 2 3 8 9 16 E1 E2 E3 E4

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

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

Тесты:

>>> main(38715)
[('E1', 3), ('E2', 0), ('E3', 39), ('E4', 75)]

>>> main(13536)
[('E1', 0), ('E2', 0), ('E3', 28), ('E4', 26)]

>>> main(34589)
[('E1', 1), ('E2', 1), ('E3', 35), ('E4', 67)]

>>> main(19560)
[('E1', 0), ('E2', 0), ('E3', 13), ('E4', 38)]

Вариант №39

Задача №8

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

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

Десятичная строка.
0 5 6 15 16 20 Z1 Z2 Z3 21 24 25 30 31 36 37 40 Z3 Z4 Z5 Z6

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

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

Тесты:

>>> main('1400306872382')
{'Z1': 62, 'Z2': 192, 'Z3': 203, 'Z4': 4, 'Z5': 12, 'Z6': 10}

>>> main('907337233659')
{'Z1': 59, 'Z2': 467, 'Z3': 387, 'Z4': 32, 'Z5': 38, 'Z6': 6}

>>> main('1920895597928')
{'Z1': 40, 'Z2': 757, 'Z3': 76, 'Z4': 31, 'Z5': 62, 'Z6': 13}

>>> main('1001931123315')
{'Z1': 51, 'Z2': 681, 'Z3': 447, 'Z4': 35, 'Z5': 18, 'Z6': 7}

Вариант №40

Задача №8

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

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

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

0 6 7 8 9 15 16 20 R1 R2 R3 R4

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

Целое.

0 6 7 8 9 13 14 20 R3 R2 R4 R1

Тесты:

>>> main('0x108335')
876865

>>> main('0xe954e')
1285450

>>> main('0x1aac15')
357462

>>> main('0xc7dc0')
1055166