ИКБО-13-22

Вариант №1

Задача №8

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

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

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

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

Десятичная строка.
0 7 8 14 15 23 24 29 U1 U2 U4

Тесты:

>>> main((57, 75, 44))
'738216761'

>>> main((99, 0, 63))
'1056964707'

>>> main((23, 65, 61))
'1023426839'

>>> main((69, 50, 16))
'268448325'

Вариант №2

Задача №8

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

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

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

0 5 6 7 8 13 14 19 20 24 Q1 Q2 Q3 Q4 Q5

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

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

0 1 2 7 8 13 14 19 20 24 Q2 Q3 Q1 Q4 Q5

Тесты:

>>> main('21268962')
'21275175'

>>> main('4777196')
'4779155'

>>> main('26601500')
'26598560'

>>> main('15285395')
'15274994'

Вариант №3

Задача №8

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

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

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

0 1 2 4 5 8 9 13 14 23 P1 P2 P4 P5

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

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

0 4 5 8 9 11 12 21 22 23 P4 P2 P5 P1

Тесты:

>>> main('3212759')
'0xcc4a02'

>>> main('2356592')
'0x8f81a'

>>> main('5970504')
'0x16c40d'

>>> main('10572325')
'0x685209'

Вариант №4

Задача №8

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

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

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

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

Десятичная строка.
0 6 7 12 13 17 18 25 26 29 I1 I2 I3 I4 I5

Тесты:

>>> main([('I1', 26), ('I2', 47), ('I3', 1), ('I4', 105), ('I5', 3)])
'228865946'

>>> main([('I1', 116), ('I2', 56), ('I3', 27), ('I4', 31), ('I5', 13)])
'880770164'

>>> main([('I1', 109), ('I2', 59), ('I3', 10), ('I4', 127), ('I5', 6)])
'436035053'

>>> main([('I1', 50), ('I2', 41), ('I3', 10), ('I4', 15), ('I5', 15)])
'1010652338'

Вариант №5

Задача №8

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

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

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

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

Целое.
0 9 10 15 16 18 S1 S2 S3 19 24 25 26 27 30 31 37 S3 S4 S5 S6

Тесты:

>>> main(('0x3c8', '0x23', '0x2c', '0x0', '0xc', '0x3d'))
132610035656

>>> main(('0x39f', '0x2', '0x107', '0x3', '0xd', '0x4f'))
171513940895

>>> main(('0xee', '0x7', '0x7a', '0x1', '0x9', '0x44'))
147278404846

>>> main(('0x1eb', '0x3e', '0x128', '0x3', '0xd', '0x10'))
36224694763

Вариант №6

Задача №8

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

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

Целое.

0 4 5 9 10 18 19 21 G1 G2 G3 G4

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

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

0 8 9 13 14 16 17 21 G3 G2 G4 G1

Тесты:

>>> main(3524980)
'0x299772'

>>> main(632808)
'0x107e69'

>>> main(528959)
'0x3e6204'

>>> main(1357407)
'0x3ea52d'

Вариант №7

Задача №8

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

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

Шестнадцатиричная строка.
0 9 10 16 V1 V2 17 18 22 23 32 V2 V3

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

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

Тесты:

>>> main('0xb9f34')
('0x334', '0xe7', '0x2')

>>> main('0x2cf838')
('0x38', '0x3e', '0xb')

>>> main('0x782ac2')
('0x2c2', '0xa', '0x1e')

>>> main('0x30fbd7')
('0x3d7', '0x3e', '0xc')

Вариант №8

Задача №8

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

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

Целое.
0 3 4 13 14 15 Q1 Q2 Q3 16 22 23 30 31 Q3 Q4 Q5

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

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

Тесты:

>>> main(46568854)
(6, 345, 282, 5, 0)

>>> main(2262268163)
(3, 912, 349, 13, 1)

>>> main(3522679476)
(4, 299, 479, 163, 1)

>>> main(2522598900)
(4, 223, 367, 44, 1)

Вариант №9

Задача №8

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

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

Шестнадцатиричная строка.
0 2 3 7 8 15 16 17 O1 O2 O3 O4 18 19 27 28 35 O4 O5

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

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

Тесты:

>>> main('0x4c9034')
[('O1', '4'), ('O2', '6'), ('O3', '144'), ('O4', '4'), ('O5', '9')]

>>> main('0x92ac05f')
[('O1', '7'), ('O2', '11'), ('O3', '192'), ('O4', '2'), ('O5', '293')]

>>> main('0x2bb8572')
[('O1', '2'), ('O2', '14'), ('O3', '133'), ('O4', '3'), ('O5', '87')]

>>> main('0xf88d132')
[('O1', '2'), ('O2', '6'), ('O3', '209'), ('O4', '0'), ('O5', '497')]

Вариант №10

Задача №8

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

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

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

0 2 3 7 8 10 11 18 V1 V2 V3 V4

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

Целое.

0 2 3 10 11 13 14 18 V3 V4 V1 V2

Тесты:

>>> main('423111')
409204

>>> main('405342')
194095

>>> main('129342')
127481

>>> main('109660')
188844

Вариант №11

Задача №8

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

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

Целое.

0 6 7 10 11 18 19 21 22 F1 F2 F3 F4 F5

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

Целое.

0 6 7 10 11 12 14 15 22 F1 F2 F5 F4 F3

Тесты:

>>> main(7869274)
97114

>>> main(1303993)
4072889

>>> main(5531542)
4599702

>>> main(3113471)
7885311

Вариант №12

Задача №8

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

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

Целое.
0 4 5 9 10 18 19 20 29 O1 O2 O4 O5

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

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

Тесты:

>>> main(718597590)
{'O1': 22, 'O2': 14, 'O4': 0, 'O5': 685}

>>> main(114954081)
{'O1': 1, 'O2': 27, 'O4': 1, 'O5': 109}

>>> main(710088513)
{'O1': 1, 'O2': 26, 'O4': 0, 'O5': 677}

>>> main(703938971)
{'O1': 27, 'O2': 12, 'O4': 0, 'O5': 671}

Вариант №13

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 5 6 15 16 21 P2 P3 22 25 26 28 29 33 34 42 P3 P4 P5 P6

Тесты:

>>> main({'P2': '966', 'P3': '205', 'P4': '6', 'P5': '22', 'P6': '232'})
'0x3a2d8cdf180'

>>> main({'P2': '908', 'P3': '663', 'P4': '4', 'P5': '25', 'P6': '290'})
'0x48b3297e300'

>>> main({'P2': '466', 'P3': '954', 'P4': '1', 'P5': '27', 'P6': '18'})
'0x4b67ba7480'

>>> main({'P2': '107', 'P3': '541', 'P4': '2', 'P5': '16', 'P6': '504'})
'0x7e20a1d1ac0'

Вариант №14

Задача №8

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

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

Целое.
0 3 4 13 14 18 S1 S2 S3 19 21 22 27 28 36 S3 S5

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

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

Тесты:

>>> main(49053610877)
(13, 823, 74, 182)

>>> main(79059057350)
(6, 940, 37, 294)

>>> main(112960821537)
(1, 402, 245, 420)

>>> main(49916247070)
(14, 961, 245, 185)

Вариант №15

Задача №8

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

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

Шестнадцатиричная строка.
0 8 9 18 H1 H2 19 23 24 32 33 34 37 H3 H4 H5 H6

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

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

Тесты:

>>> main('0x2ad4fa6868')
[('H1', '0x68'), ('H2', '0x134'), ('H3', '0x1f'), ('H4', '0xd4'), ('H5', '0x1'), ('H6', '0xa')]

>>> main('0x3342147689')
[('H1', '0x89'), ('H2', '0x23b'), ('H3', '0x2'), ('H4', '0x142'), ('H5', '0x1'), ('H6', '0xc')]

>>> main('0x38736dfc1c')
[('H1', '0x1c'), ('H2', '0x2fe'), ('H3', '0xd'), ('H4', '0x73'), ('H5', '0x0'), ('H6', '0xe')]

>>> main('0x974725a64')
[('H1', '0x64'), ('H2', '0x12d'), ('H3', '0xe'), ('H4', '0x174'), ('H5', '0x0'), ('H6', '0x2')]

Вариант №16

Задача №8

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

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

Десятичная строка.
0 3 4 11 12 16 P1 P2 P3 17 25 26 28 29 33 P4 P5 P6

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

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

Тесты:

>>> main('16764562265')
[('P1', '9'), ('P2', '181'), ('P3', '14'), ('P4', '415'), ('P5', '1'), ('P6', '31')]

>>> main('5223799026')
[('P1', '2'), ('P2', '143'), ('P3', '13'), ('P4', '430'), ('P5', '5'), ('P6', '9')]

>>> main('1413992352')
[('P1', '0'), ('P2', '250'), ('P3', '28'), ('P4', '35'), ('P5', '5'), ('P6', '2')]

>>> main('980150360')
[('P1', '8'), ('P2', '133'), ('P3', '30'), ('P4', '309'), ('P5', '6'), ('P6', '1')]

Вариант №17

Задача №8

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

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

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

0 1 2 8 9 17 18 26 D1 D2 D3 D4

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

Целое.

0 1 2 10 11 19 20 26 D1 D3 D4 D2

Тесты:

>>> main('31639019')
128173451

>>> main('39523768')
115652136

>>> main('81923454')
100254746

>>> main('65104760')
99074772

Вариант №18

Задача №8

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

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

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

0 7 8 17 18 23 24 25 H1 H2 H3 H5

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

Целое.

0 7 8 9 10 15 16 25 H1 H5 H3 H2

Тесты:

>>> main('0x26d9e2e')
27159854

>>> main('0x149281b')
19417115

>>> main('0x121e5c5')
31793349

>>> main('0x3adc22a')
29535530

Вариант №19

Задача №8

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

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

Целое.
0 9 10 11 12 21 22 24 N2 N3 N4 25 31 32 41 42 48 N4 N5 N6

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

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

Тесты:

>>> main(221094153278310)
{'N2': 0, 'N3': 893, 'N4': 505, 'N5': 277, 'N6': 50}

>>> main(35564320625298)
{'N2': 0, 'N3': 809, 'N4': 474, 'N5': 88, 'N6': 8}

>>> main(149007116843236)
{'N2': 2, 'N3': 75, 'N4': 433, 'N5': 901, 'N6': 33}

>>> main(423156527049377)
{'N2': 2, 'N3': 938, 'N4': 825, 'N5': 219, 'N6': 96}

Вариант №20

Задача №8

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

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

Целое.
0 7 8 15 U1 U2 16 17 18 26 27 31 U2 U3 U4

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

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

Тесты:

>>> main(235515492)
[('U1', '0x64'), ('U2', '0x1ae'), ('U3', '0x182'), ('U4', '0x1')]

>>> main(3354948702)
[('U1', '0x5e'), ('U2', '0x74'), ('U3', '0x1fe'), ('U4', '0x18')]

>>> main(1124503107)
[('U1', '0x43'), ('U2', '0x28e'), ('U3', '0xc1'), ('U4', '0x8')]

>>> main(3768457592)
[('U1', '0x78'), ('U2', '0x219'), ('U3', '0x27'), ('U4', '0x1c')]

Вариант №21

Задача №8

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

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

Целое.

0 2 3 11 12 19 20 E1 E2 E3 E4 21 24 25 32 33 41 E4 E5 E6

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

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

0 8 9 16 17 20 E2 E5 E3 21 24 25 27 28 32 33 41 E3 E1 E4 E6

Тесты:

>>> main(1376698726097)
'0x141a26e88da'

>>> main(474362404651)
'0x6e367a73e5'

>>> main(1171914722089)
'0x11183f0db65'

>>> main(1543387957586)
'0x16714e9592a'

Вариант №22

Задача №8

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

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

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

0 1 6 7 11 12 18 19 23 O1 O2 O3 O5

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

Целое.

0 5 6 10 11 12 18 19 23 O2 O3 O1 O5

Тесты:

>>> main('10461099')
9965525

>>> main('7816346')
7340621

>>> main('400198')
1443

>>> main('13873241')
13633580

Вариант №23

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 1 2 6 7 8 14 15 22 23 30 K1 K2 K4 K5 K6

Тесты:

>>> main({'K1': '3', 'K2': '27', 'K4': '109', 'K5': '88', 'K6': '49'})
'0x18ac6d6f'

>>> main({'K1': '0', 'K2': '27', 'K4': '116', 'K5': '201', 'K6': '33'})
'0x10e4f46c'

>>> main({'K1': '1', 'K2': '13', 'K4': '18', 'K5': '168', 'K6': '233'})
'0x74d41235'

>>> main({'K1': '1', 'K2': '30', 'K4': '54', 'K5': '115', 'K6': '209'})
'0x68b9b679'

Вариант №24

Задача №8

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

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

Целое.
0 8 9 12 13 14 15 19 X1 X2 X3 X4 20 23 24 33 34 38 X4 X5 X6

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

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

Тесты:

>>> main(151581266540)
[('X1', 108), ('X2', 9), ('X3', 0), ('X4', 485), ('X5', 842), ('X6', 8)]

>>> main(50970482050)
[('X1', 386), ('X2', 10), ('X3', 2), ('X4', 39), ('X5', 990), ('X6', 2)]

>>> main(418375501105)
[('X1', 305), ('X2', 2), ('X3', 0), ('X4', 63), ('X5', 361), ('X6', 24)]

>>> main(197901852495)
[('X1', 335), ('X2', 15), ('X3', 0), ('X4', 445), ('X5', 531), ('X6', 11)]

Вариант №25

Задача №8

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

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

Десятичная строка.
0 1 2 5 6 7 8 10 11 19 20 28 J1 J3 J4 J5 J6

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

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

Тесты:

>>> main('231007487')
{'J1': '3', 'J3': '3', 'J4': '4', 'J5': '156', 'J6': '220'}

>>> main('54978675')
{'J1': '3', 'J3': '1', 'J4': '0', 'J5': '221', 'J6': '52'}

>>> main('203916084')
{'J1': '0', 'J3': '0', 'J4': '3', 'J5': '240', 'J6': '194'}

>>> main('137980061')
{'J1': '1', 'J3': '2', 'J4': '0', 'J5': '301', 'J6': '131'}

Вариант №26

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 4 5 7 8 11 12 17 F2 F3 F4

Тесты:

>>> main(('5', '12', '0'))
'0xca0'

>>> main(('5', '2', '58'))
'0x3a2a0'

>>> main(('7', '15', '36'))
'0x24fe0'

>>> main(('4', '11', '1'))
'0x1b80'

Вариант №27

Задача №8

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

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

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

0 7 8 16 17 22 23 25 26 30 J1 J2 J3 J4

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

Целое.

0 8 9 16 17 21 22 24 25 30 J2 J1 J4 J3

Тесты:

>>> main('33343170')
2093057222

>>> main('55434674')
1300325853

>>> main('52131136')
461406581

>>> main('66173418')
1908528569

Вариант №28

Задача №8

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

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

Десятичная строка.
0 6 7 16 17 18 24 U1 U2 U4

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

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

Тесты:

>>> main('33438472')
(8, 118, 127)

>>> main('23300623')
(15, 788, 88)

>>> main('27307303')
(39, 346, 104)

>>> main('8800391')
(7, 145, 33)

Вариант №29

Задача №8

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

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

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

0 8 9 10 14 15 23 W1 W2 W4

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

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

0 4 5 13 14 15 23 W1 W2 W4

Тесты:

>>> main('0x20d667')
'2149600'

>>> main('0x6335ba')
'6502208'

>>> main('0x87681b')
'8848224'

>>> main('0x5de56a')
'6139200'

Вариант №30

Задача №8

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

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

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

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

Десятичная строка.
0 6 7 10 11 17 18 23 R1 R2 R3 R4 24 27 28 36 37 46 R4 R5

Тесты:

>>> main((11, 1, 81, 718, 180))
'48506767499'

>>> main((66, 0, 0, 387, 98))
'26408124482'

>>> main((42, 1, 112, 701, 314))
'84472725674'

>>> main((32, 5, 79, 948, 463))
'124534291104'

Вариант №31

Задача №8

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

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

Целое.
0 6 7 15 16 20 U1 U2 U3 21 24 25 31 32 41 U3 U4 U5

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

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

Тесты:

>>> main(440045500427)
('0xb', '0xf0', '0xc1', '0x3a', '0x66')

>>> main(511398083689)
('0x69', '0xf8', '0x1b3', '0x8', '0x77')

>>> main(3209276908393)
('0x69', '0xc6', '0x1cf', '0x1b', '0x2eb')

>>> main(3612058911901)
('0x1d', '0x9', '0x17d', '0x7f', '0x348')

Вариант №32

Задача №8

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

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

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

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

Целое.
0 7 8 11 12 13 20 21 26 27 Y1 Y2 Y3 Y4 Y5 Y6

Тесты:

>>> main((109, 3, 1, 73, 10, 1))
155792237

>>> main((86, 4, 1, 160, 15, 1))
166990934

>>> main((115, 12, 1, 115, 39, 1))
216956019

>>> main((211, 13, 0, 70, 32, 0))
67685843

Вариант №33

Задача №8

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

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

Десятичная строка.
0 3 4 12 13 16 17 21 22 23 24 26 S1 S2 S3 S4 S5

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

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

Тесты:

>>> main('1572853')
[('S1', 5), ('S2', 511), ('S3', 15), ('S4', 11), ('S5', 0)]

>>> main('1197144')
[('S1', 8), ('S2', 69), ('S3', 2), ('S4', 9), ('S5', 0)]

>>> main('10073944')
[('S1', 8), ('S2', 373), ('S3', 13), ('S4', 12), ('S5', 2)]

>>> main('11302224')
[('S1', 0), ('S2', 341), ('S3', 3), ('S4', 22), ('S5', 2)]

Вариант №34

Задача №8

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

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

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

0 6 7 11 12 13 14 15 Q1 Q3 Q4 16 22 23 31 Q4 Q5

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

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

0 8 9 10 11 15 Q4 Q3 16 24 25 31 Q5 Q1

Тесты:

>>> main('311888535')
'774176860'

>>> main('3058256617')
'3547070757'

>>> main('3623668203')
'3618570739'

>>> main('1673815808')
'13042961'

Вариант №35

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 6 7 14 15 16 20 21 22 24 D1 D2 D3 D4 D5

Тесты:

>>> main([('D1', '0x5f'), ('D2', '0x75'), ('D3', '0x1'), ('D4', '0x1e'), ('D5', '0x0')])
'0x1ebadf'

>>> main([('D1', '0x30'), ('D2', '0x84'), ('D3', '0x1'), ('D4', '0x9'), ('D5', '0x1')])
'0x29c230'

>>> main([('D1', '0xa'), ('D2', '0x3'), ('D3', '0x0'), ('D4', '0x10'), ('D5', '0x1')])
'0x30018a'

>>> main([('D1', '0x4e'), ('D2', '0x2b'), ('D3', '0x0'), ('D4', '0x11'), ('D5', '0x1')])
'0x3115ce'

Вариант №36

Задача №8

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

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

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

0 6 7 8 9 17 18 22 23 25 P1 P2 P4 P5

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

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

0 2 3 4 5 13 14 18 19 25 P5 P2 P4 P1

Тесты:

>>> main('0x2f9295b')
'48201749'

>>> main('0x339e13e')
'32735254'

>>> main('0x1bef10f')
'8110099'

>>> main('0x3375f99')
'13320222'

Вариант №37

Задача №8

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

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

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

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

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

Тесты:

>>> main(('0x37', '0x2', '0x1', '0xd', '0x6'))
'842295'

>>> main(('0x6e', '0x1', '0x1', '0xc', '0x2'))
'313710'

>>> main(('0x74', '0x4', '0x0', '0x8', '0x5'))
'689268'

>>> main(('0xee', '0x3', '0x1', '0x6', '0x6'))
'814062'

Вариант №38

Задача №8

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

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

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

0 4 5 12 13 15 16 18 19 20 23 X1 X2 X3 X4 X5 X6

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

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

0 1 3 4 11 12 14 15 19 20 23 X5 X4 X2 X3 X1 X6

Тесты:

>>> main('13309594')
'0xcd0b47'

>>> main('9281305')
'0x8ccf8b'

>>> main('11258303')
'0xafe4d7'

>>> main('353893')
'0x2b33a'

Вариант №39

Задача №8

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

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

Шестнадцатиричная строка.
0 8 9 13 14 15 18 Q1 Q2 Q4

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

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

Тесты:

>>> main('0x6c0cd')
{'Q1': '0xcd', 'Q2': '0x0', 'Q4': '0xd'}

>>> main('0x5958d')
{'Q1': '0x18d', 'Q2': '0xa', 'Q4': '0xb'}

>>> main('0x33f97')
{'Q1': '0x197', 'Q2': '0x1f', 'Q4': '0x6'}

>>> main('0x3b916')
{'Q1': '0x116', 'Q2': '0x1c', 'Q4': '0x7'}

Вариант №40

Задача №8

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

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

Шестнадцатиричная строка.
0 1 5 6 7 16 17 21 A2 A3 A4 A5

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

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

Тесты:

>>> main('0x197aac')
{'A2': 22, 'A3': 0, 'A4': 757, 'A5': 12}

>>> main('0x2567c')
{'A2': 30, 'A3': 1, 'A4': 172, 'A5': 1}

>>> main('0x345a56')
{'A2': 11, 'A3': 1, 'A4': 180, 'A5': 26}

>>> main('0x35e944')
{'A2': 2, 'A3': 1, 'A4': 978, 'A5': 26}