ИМБО-01-22

Вариант №1

Задача №8

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

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

Целое.

0 7 8 15 16 18 V1 V2 19 24 25 33 34 35 36 V4 V5 V6

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

Целое.

0 7 8 16 17 18 V1 V4 V5 19 26 27 34 35 36 V2 V6

Тесты:

>>> main(84055023173)
98515929413

>>> main(123980741108)
136499588852

>>> main(111662178095)
124419899183

>>> main(3783179426)
25232961698

Вариант №2

Задача №8

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

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

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

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

Десятичная строка.
0 6 7 15 16 22 23 27 G1 G2 G3 G4

Тесты:

>>> main({'G1': '47', 'G2': '273', 'G3': '76', 'G4': '6'})
'55347375'

>>> main({'G1': '4', 'G2': '497', 'G3': '27', 'G4': '17'})
'144439428'

>>> main({'G1': '104', 'G2': '127', 'G3': '71', 'G4': '6'})
'55001064'

>>> main({'G1': '65', 'G2': '14', 'G3': '56', 'G4': '15'})
'129500993'

Вариант №3

Задача №8

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

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

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

0 1 9 10 11 12 13 14 23 Z1 Z2 Z3 Z4

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

Целое.

0 9 10 18 19 20 21 22 23 Z2 Z4 Z1 Z3

Тесты:

>>> main('9655')
7564288

>>> main('6802')
9249792

>>> main('13599')
8010752

>>> main('4079')
15195136

Вариант №4

Задача №8

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

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

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

0 8 9 15 16 23 24 25 D1 D2 D3 D4 D5

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

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

0 1 8 9 17 18 24 25 D4 D3 D1 D2 D5

Тесты:

>>> main('0xc13ecc')
'0x7d9982'

>>> main('0xc8ff6b')
'0x1fed790'

>>> main('0x8f851f')
'0x10a3f1e'

>>> main('0x250e092')
'0x3c124a0'

Вариант №5

Задача №8

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

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

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

0 7 8 17 18 20 X1 X2 X3 21 24 25 31 32 33 41 X3 X4 X5 X6

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

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

0 9 10 16 17 20 X2 X4 X1 21 24 25 33 34 35 41 X1 X6 X5 X3

Тесты:

>>> main('1939370487253')
'3288932750637'

>>> main('3643021465361')
'2213252589591'

>>> main('143948458812')
'4381411444523'

>>> main('3986765140191')
'3795169736784'

Вариант №6

Задача №8

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

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

Целое.

0 3 4 5 7 8 9 16 17 23 H1 H2 H3 H4 H5 H6

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

Целое.

0 1 7 8 15 16 18 19 22 23 H2 H6 H5 H3 H1 H4

Тесты:

>>> main(15852107)
5960176

>>> main(4603567)
8200006

>>> main(11098453)
11185321

>>> main(5080887)
12174157

Вариант №7

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 3 4 5 11 12 20 M1 M2 M4

Тесты:

>>> main(('7', '0', '363'))
'0x16b007'

>>> main(('8', '1', '139'))
'0x8b018'

>>> main(('8', '0', '390'))
'0x186008'

>>> main(('11', '1', '431'))
'0x1af01b'

Вариант №8

Задача №8

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

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

Целое.
0 8 9 15 16 19 20 24 25 29 H1 H3 H4 H5

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

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

Тесты:

>>> main(97635773)
('0x1bd', '0x1', '0x1d', '0x2')

>>> main(671409842)
('0xb2', '0x4', '0x0', '0x14')

>>> main(747450695)
('0x147', '0xd', '0x8', '0x16')

>>> main(266962280)
('0x168', '0x9', '0x1e', '0x7')

Вариант №9

Задача №8

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

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

Целое.

0 4 5 6 12 13 20 21 24 25 28 H1 H2 H3 H4 H5 H6

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

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

0 3 4 8 9 16 17 23 24 25 28 H6 H1 H4 H3 H2 H5

Тесты:

>>> main(513792372)
'164363599'

>>> main(505608036)
'62533199'

>>> main(508257456)
'86292239'

>>> main(128741768)
'445433475'

Вариант №10

Задача №8

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

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

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

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

Целое.
0 1 2 3 11 12 16 17 18 20 K1 K3 K4 K5 K6

Тесты:

>>> main([('K1', '0x0'), ('K3', '0x1f8'), ('K4', '0xd'), ('K5', '0x0'), ('K6', '0x4')])
1105856

>>> main([('K1', '0x0'), ('K3', '0x1ec'), ('K4', '0x7'), ('K5', '0x0'), ('K6', '0x3')])
819040

>>> main([('K1', '0x0'), ('K3', '0x1ca'), ('K4', '0x19'), ('K5', '0x1'), ('K6', '0x5')])
1547856

>>> main([('K1', '0x0'), ('K3', '0x3a'), ('K4', '0x0'), ('K5', '0x1'), ('K6', '0x4')])
1180112

Вариант №11

Задача №8

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

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

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

0 7 8 14 15 16 17 23 L1 L2 L3

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

Целое.

0 6 7 13 14 21 22 23 L2 L1 L3

Тесты:

>>> main('75535')
8639360

>>> main('69814')
11372544

>>> main('121936')
13905408

>>> main('35402')
5408000

Вариант №12

Задача №8

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

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

Целое.

0 1 3 4 7 8 10 11 12 V1 V2 V3 V5

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

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

0 1 2 4 5 7 8 9 12 V5 V2 V1 V3

Тесты:

>>> main(6739)
'2851'

>>> main(3525)
'6465'

>>> main(1608)
'2176'

>>> main(108)
'3264'

Вариант №13

Задача №8

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

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

Шестнадцатиричная строка.
0 8 9 13 14 16 17 19 20 21 F1 F3 F4 F5

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

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

Тесты:

>>> main('0x20c73')
[('F1', '0x73'), ('F3', '0x0'), ('F4', '0x1'), ('F5', '0x0')]

>>> main('0x41b57')
[('F1', '0x157'), ('F3', '0x0'), ('F4', '0x2'), ('F5', '0x0')]

>>> main('0x226c52')
[('F1', '0x52'), ('F3', '0x1'), ('F4', '0x1'), ('F5', '0x2')]

>>> main('0x64144')
[('F1', '0x144'), ('F3', '0x1'), ('F4', '0x3'), ('F5', '0x0')]

Вариант №14

Задача №8

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

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

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

0 1 2 3 5 6 10 11 20 Q1 Q2 Q3 Q4 Q5

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

Целое.

0 9 10 14 15 16 18 19 20 Q5 Q4 Q2 Q3 Q1

Тесты:

>>> main('632247')
2021684

>>> main('1427556')
296633

>>> main('1026443')
1645045

>>> main('1151591')
1877554

Вариант №15

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 6 7 14 15 17 I1 I2 I3 18 19 26 27 33 34 I3 I4 I5 I6

Тесты:

>>> main(('115', '128', '5', '189', '76', '1'))
'0x665eac073'

>>> main(('52', '171', '14', '200', '90', '0'))
'0x2d64755b4'

>>> main(('122', '149', '6', '183', '120', '0'))
'0x3c5bb4afa'

>>> main(('31', '179', '15', '154', '13', '0'))
'0x6cd7d99f'

Вариант №16

Задача №8

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

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

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

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

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

Тесты:

>>> main({'U1': 41, 'U2': 2, 'U3': 493, 'U4': 3})
'0xfdb29'

>>> main({'U1': 83, 'U2': 2, 'U3': 192, 'U4': 0})
'0x18153'

>>> main({'U1': 80, 'U2': 3, 'U3': 505, 'U4': 1})
'0x7f3d0'

>>> main({'U1': 45, 'U2': 0, 'U3': 126, 'U4': 1})
'0x4fc2d'

Вариант №17

Задача №8

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

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

Десятичная строка.
0 7 8 14 15 16 E1 E2 E3 17 23 24 25 32 33 E3 E4 E5 E6

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

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

Тесты:

>>> main('10320572339')
{'E1': 179, 'E2': 111, 'E3': 78, 'E4': 1, 'E5': 51, 'E6': 1}

>>> main('7889955520')
{'E1': 192, 'E2': 42, 'E3': 142, 'E4': 0, 'E5': 235, 'E6': 0}

>>> main('11301694037')
{'E1': 85, 'E2': 42, 'E3': 324, 'E4': 1, 'E5': 80, 'E6': 1}

>>> main('3520525889')
{'E1': 65, 'E2': 118, 'E3': 429, 'E4': 1, 'E5': 104, 'E6': 0}

Вариант №18

Задача №8

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

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

Шестнадцатиричная строка.
0 7 8 9 10 11 17 18 24 Z1 Z3 Z4 Z5

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

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

Тесты:

>>> main('0x9b5e5')
[('Z1', '0xe5'), ('Z3', '0x2'), ('Z4', '0x36'), ('Z5', '0x2')]

>>> main('0x15092ea')
[('Z1', '0xea'), ('Z3', '0x1'), ('Z4', '0x12'), ('Z5', '0x54')]

>>> main('0x155d40a')
[('Z1', '0xa'), ('Z3', '0x2'), ('Z4', '0x3a'), ('Z5', '0x55')]

>>> main('0x1254057')
[('Z1', '0x57'), ('Z3', '0x0'), ('Z4', '0x28'), ('Z5', '0x49')]

Вариант №19

Задача №8

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

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

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

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

Десятичная строка.
0 1 6 7 8 9 14 C1 C2 C3

Тесты:

>>> main([('C1', '0x1'), ('C2', '0x3c'), ('C3', '0x2')])
'377'

>>> main([('C1', '0x1'), ('C2', '0x3e'), ('C3', '0x3')])
'509'

>>> main([('C1', '0x0'), ('C2', '0x10'), ('C3', '0x2')])
'288'

>>> main([('C1', '0x1'), ('C2', '0x0'), ('C3', '0x3')])
'385'

Вариант №20

Задача №8

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

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

Целое.

0 7 8 14 15 18 19 20 21 27 28 C1 C2 C3 C4 C5 C6

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

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

0 7 8 11 12 13 19 20 26 27 28 C1 C3 C6 C5 C2 C4

Тесты:

>>> main(237701555)
'144582323'

>>> main(279949866)
'186695466'

>>> main(439554616)
'287979064'

>>> main(663917)
'168821869'

Вариант №21

Задача №8

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

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

Десятичная строка.
0 1 2 10 11 16 17 23 24 29 A1 A2 A3 A4 A5

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

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

Тесты:

>>> main('556155184')
[('A1', 0), ('A2', 76), ('A3', 8), ('A4', 19), ('A5', 33)]

>>> main('971981894')
[('A1', 2), ('A2', 273), ('A3', 40), ('A4', 119), ('A5', 57)]

>>> main('126706620')
[('A1', 0), ('A2', 239), ('A3', 44), ('A4', 70), ('A5', 7)]

>>> main('892546382')
[('A1', 2), ('A2', 339), ('A3', 37), ('A4', 25), ('A5', 53)]

Вариант №22

Задача №8

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

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

Шестнадцатиричная строка.
0 5 6 8 9 14 15 16 24 25 30 X1 X2 X3 X4 X5 X6

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

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

Тесты:

>>> main('0x78535')
{'X1': '0x35', 'X2': '0x4', 'X3': '0x2', 'X4': '0x1', 'X5': '0x7', 'X6': '0x0'}

>>> main('0x1d442174')
{'X1': '0x34', 'X2': '0x5', 'X3': '0x10', 'X4': '0x0', 'X5': '0x144', 'X6': '0xe'}

>>> main('0x27b1c030')
{'X1': '0x30', 'X2': '0x0', 'X3': '0x20', 'X4': '0x1', 'X5': '0x1b1', 'X6': '0x13'}

>>> main('0x6751ee8e')
{'X1': '0xe', 'X2': '0x2', 'X3': '0x37', 'X4': '0x1', 'X5': '0x151', 'X6': '0x33'}

Вариант №23

Задача №8

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

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

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

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

Целое.
0 1 3 4 13 14 16 Y1 Y2 Y3 Y4

Тесты:

>>> main([('Y1', 1), ('Y2', 3), ('Y3', 273), ('Y4', 4)])
69911

>>> main([('Y1', 1), ('Y2', 6), ('Y3', 56), ('Y4', 4)])
66445

>>> main([('Y1', 0), ('Y2', 1), ('Y3', 132), ('Y4', 2)])
34882

>>> main([('Y1', 0), ('Y2', 6), ('Y3', 643), ('Y4', 2)])
43068

Вариант №24

Задача №8

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

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

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

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

Целое.
0 8 9 15 Q1 16 17 24 25 31 Q3 Q4

Тесты:

>>> main({'Q1': 14, 'Q3': 223, 'Q4': 102})
3451781134

>>> main({'Q1': 321, 'Q3': 184, 'Q4': 91})
3077570881

>>> main({'Q1': 72, 'Q3': 20, 'Q4': 92})
3089629256

>>> main({'Q1': 225, 'Q3': 30, 'Q4': 16})
540803297

Вариант №25

Задача №8

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

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

Целое.
0 1 9 10 14 15 16 17 18 23 X1 X2 X3 X4 X5 X6

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

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

Тесты:

>>> main(6016659)
[('X1', 1), ('X2', 329), ('X3', 19), ('X4', 3), ('X5', 1), ('X6', 22)]

>>> main(15252717)
[('X1', 1), ('X2', 118), ('X3', 15), ('X4', 1), ('X5', 0), ('X6', 58)]

>>> main(9298789)
[('X1', 1), ('X2', 434), ('X3', 24), ('X4', 3), ('X5', 0), ('X6', 35)]

>>> main(3769374)
[('X1', 0), ('X2', 15), ('X3', 1), ('X4', 3), ('X5', 0), ('X6', 14)]

Вариант №26

Задача №8

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

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

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

0 1 2 8 9 18 19 26 27 29 B1 B2 B3 B4 B5

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

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

0 9 10 17 18 19 20 22 23 29 B3 B4 B1 B5 B2

Тесты:

>>> main('0x2f6c27cd')
'970438163'

>>> main('0x25de3926')
'617279260'

>>> main('0x29bca384')
'818994769'

>>> main('0xf479ac')
'897612348'

Вариант №27

Задача №8

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

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

Целое.

0 1 2 7 8 12 13 20 21 26 H1 H2 H4 H5

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

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

0 5 6 10 11 16 17 18 19 26 H5 H2 H1 H4

Тесты:

>>> main(78905939)
'84320293'

>>> main(99068729)
'32141359'

>>> main(5999688)
'115380226'

>>> main(37801427)
'3645458'

Вариант №28

Задача №8

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

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

Целое.
0 2 3 7 8 10 11 17 18 25 26 S1 S2 S3 S4 S5

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

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

Тесты:

>>> main(22431502)
[('S1', '0x6'), ('S2', '0x1'), ('S3', '0x7'), ('S4', '0x48'), ('S5', '0x55')]

>>> main(59647913)
[('S1', '0x1'), ('S2', '0x15'), ('S3', '0x7'), ('S4', '0x44'), ('S5', '0xe3')]

>>> main(56527825)
[('S1', '0x1'), ('S2', '0x1a'), ('S3', '0x3'), ('S4', '0x51'), ('S5', '0xd7')]

>>> main(11969702)
[('S1', '0x6'), ('S2', '0x14'), ('S3', '0x4'), ('S4', '0x54'), ('S5', '0x2d')]

Вариант №29

Задача №8

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

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

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

0 1 6 7 10 11 13 14 21 P1 P2 P3 P4 P5

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

Целое.

0 1 4 5 7 8 13 14 21 P1 P3 P4 P2 P5

Тесты:

>>> main('0xdf7c8')
910558

>>> main('0x15228')
87112

>>> main('0x3b1d04')
3867252

>>> main('0x16787')
82847

Вариант №30

Задача №8

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

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

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

0 9 10 12 13 20 21 22 A1 A2 A4

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

Целое.

0 2 3 12 13 20 21 22 A2 A1 A4

Тесты:

>>> main('0x4a4f9e')
4201715

>>> main('0x398c66')
2097971

>>> main('0x1ad2ab')
5468

>>> main('0x53a66d')
4199273

Вариант №31

Задача №8

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

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

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

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

Целое.
0 6 7 14 15 22 23 27 C1 C2 C3 C4

Тесты:

>>> main({'C1': '0x51', 'C2': '0x6c', 'C3': '0x6e', 'C4': '0x11'})
146224721

>>> main({'C1': '0x1b', 'C2': '0x34', 'C3': '0xf4', 'C4': '0x5'})
49945115

>>> main({'C1': '0x1f', 'C2': '0x9d', 'C3': '0xd7', 'C4': '0x1b'})
233557663

>>> main({'C1': '0xa', 'C2': '0x45', 'C3': '0x4', 'C4': '0x11'})
142746250

Вариант №32

Задача №8

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

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

Десятичная строка.
0 6 7 11 12 16 W1 W2 W3 17 20 21 24 25 32 W3 W4 W5

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

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

Тесты:

>>> main('1206898694')
{'W1': '0x6', 'W2': '0x0', 'W3': '0xfd', 'W4': '0xf', 'W5': '0x23'}

>>> main('7460764426')
{'W1': '0xa', 'W2': '0x16', 'W3': '0x123', 'W4': '0x5', 'W5': '0xde'}

>>> main('5063766016')
{'W1': '0x0', 'W2': '0x0', 'W3': '0x12f', 'W4': '0xe', 'W5': '0x96'}

>>> main('4404298218')
{'W1': '0x6a', 'W2': '0x3', 'W3': '0x44', 'W4': '0x4', 'W5': '0x83'}

Вариант №33

Задача №8

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

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

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

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

Десятичная строка.
0 9 10 13 14 16 P1 P2 P3 17 18 25 26 30 31 33 P3 P4 P5 P6

Тесты:

>>> main([('P1', '0x159'), ('P2', '0x3'), ('P3', '0xf'), ('P4', '0xc3'), ('P5', '0x1f'), ('P6', '0x4')])
'10721676633'

>>> main([('P1', '0x2fd'), ('P2', '0xa'), ('P3', '0xe'), ('P4', '0x62'), ('P5', '0x1d'), ('P6', '0x6')])
'14856989437'

>>> main([('P1', '0x313'), ('P2', '0x0'), ('P3', '0xf'), ('P4', '0xa7'), ('P5', '0x4'), ('P6', '0x1')])
'2459943699'

>>> main([('P1', '0x2e8'), ('P2', '0xa'), ('P3', '0x3'), ('P4', '0xbc'), ('P5', '0xb'), ('P6', '0x7')])
'15819926248'

Вариант №34

Задача №8

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

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

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

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

Целое.
0 4 5 6 7 11 12 14 15 24 25 27 O2 O3 O4 O5 O6

Тесты:

>>> main({'O2': '3', 'O3': '13', 'O4': '0', 'O5': '431', 'O6': '2'})
81233632

>>> main({'O2': '0', 'O3': '23', 'O4': '7', 'O5': '11', 'O6': '7'})
235273088

>>> main({'O2': '0', 'O3': '12', 'O4': '7', 'O5': '244', 'O6': '5'})
175797760

>>> main({'O2': '2', 'O3': '15', 'O4': '0', 'O5': '967', 'O6': '7'})
266569664

Вариант №35

Задача №8

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

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

Шестнадцатиричная строка.
0 5 6 7 8 9 11 P1 P2 P3 P4

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

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

Тесты:

>>> main('0xbf7')
('0x37', '0x3', '0x1', '0x5')

>>> main('0x66e')
('0x2e', '0x1', '0x0', '0x3')

>>> main('0xe4a')
('0xa', '0x1', '0x0', '0x7')

>>> main('0x524')
('0x24', '0x0', '0x1', '0x2')

Вариант №36

Задача №8

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

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

Целое.
0 2 3 12 13 22 23 26 X1 X2 X3 X4

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

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

Тесты:

>>> main(108143758)
[('X1', '0x6'), ('X2', '0x91'), ('X3', '0x391'), ('X4', '0xc')]

>>> main(116980009)
[('X1', '0x1'), ('X2', '0x325'), ('X3', '0x3c7'), ('X4', '0xd')]

>>> main(14480606)
[('X1', '0x6'), ('X2', '0x29b'), ('X3', '0x2e7'), ('X4', '0x1')]

>>> main(13241436)
[('X1', '0x4'), ('X2', '0x18b'), ('X3', '0x250'), ('X4', '0x1')]

Вариант №37

Задача №8

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

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

Шестнадцатиричная строка.
0 8 9 17 18 19 22 23 25 C1 C2 C3 C4 C5

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

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

Тесты:

>>> main('0x1608b04')
('260', '69', '0', '12', '2')

>>> main('0x1ccf4b1')
('177', '122', '1', '9', '3')

>>> main('0x181b4c9')
('201', '218', '0', '0', '3')

>>> main('0xbe7b04')
('260', '317', '1', '7', '1')

Вариант №38

Задача №8

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

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

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

0 9 10 17 18 19 D1 D2 D3 20 25 26 30 31 38 D3 D4 D5

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

Целое.

0 4 5 12 13 19 D4 D3 D2 20 21 28 29 38 D2 D5 D1

Тесты:

>>> main('0x7ee2e3bd88')
210985940760

>>> main('0x40b5fb331b')
427084582861

>>> main('0x7cd593784e')
42399943829

>>> main('0x27fd6f9a84')
345912429439

Вариант №39

Задача №8

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

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

Целое.
0 1 7 8 16 17 21 Q1 Q2 Q4

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

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

Тесты:

>>> main(1681970)
{'Q1': 0, 'Q2': 25, 'Q4': 12}

>>> main(118580)
{'Q1': 0, 'Q2': 26, 'Q4': 0}

>>> main(2932498)
{'Q1': 0, 'Q2': 9, 'Q4': 22}

>>> main(1281790)
{'Q1': 0, 'Q2': 127, 'Q4': 9}

Вариант №40

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 7 8 10 11 15 16 17 U1 U2 U4 18 19 20 25 26 35 U4 U5 U6

Тесты:

>>> main({'U1': '0x35', 'U2': '0x2', 'U4': '0x6', 'U5': '0x4', 'U6': '0x31e'})
'0xc78460235'

>>> main({'U1': '0x2d', 'U2': '0x1', 'U4': '0x9', 'U5': '0x2d', 'U6': '0x11b'})
'0x46ed9012d'

>>> main({'U1': '0xa3', 'U2': '0x7', 'U4': '0x6', 'U5': '0x9', 'U6': '0x2d0'})
'0xb409607a3'

>>> main({'U1': '0x3c', 'U2': '0x6', 'U4': '0xd', 'U5': '0x8', 'U6': '0x19c'})
'0x6708d063c'