ИКБО-21-22

Вариант №1

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 9 10 16 17 19 20 29 P1 P3 P4

Тесты:

>>> main(('0x315', '0x5', '0x1d7'))
'0x1d7a0315'

>>> main(('0x1', '0x6', '0x3b'))
'0x3bc0001'

>>> main(('0x2e5', '0x4', '0xae'))
'0xae802e5'

>>> main(('0x189', '0x1', '0x97'))
'0x9720189'

Вариант №2

Задача №8

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

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

Целое.
0 3 4 9 10 12 13 19 20 25 26 27 B1 B2 B3 B4 B5

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

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

Тесты:

>>> main(49570679)
(7, 55, 0, 35, 47)

>>> main(19844645)
(5, 34, 3, 118, 18)

>>> main(24157139)
(3, 61, 6, 4, 23)

>>> main(18039453)
(13, 41, 0, 26, 17)

Вариант №3

Задача №8

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

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

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

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

Десятичная строка.
0 4 5 14 15 19 A1 A2 A3 20 21 30 31 37 38 A3 A4 A6

Тесты:

>>> main({'A1': '26', 'A2': '151', 'A3': '1', 'A4': '33', 'A6': '0'})
'69243642'

>>> main({'A1': '27', 'A2': '654', 'A3': '2', 'A4': '33', 'A6': '0'})
'69292507'

>>> main({'A1': '3', 'A2': '419', 'A3': '20', 'A4': '199', 'A6': '0'})
'418002019'

>>> main({'A1': '21', 'A2': '1016', 'A3': '16', 'A4': '155', 'A6': '1'})
'275203522325'

Вариант №4

Задача №8

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

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

Шестнадцатиричная строка.
0 5 6 11 12 16 F1 F2 F3 17 20 21 26 27 33 F3 F4 F5

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

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

Тесты:

>>> main('0xe99544d1')
{'F1': '0x11', 'F2': '0x13', 'F3': '0x154', 'F4': '0xc', 'F5': '0x1d'}

>>> main('0x1af81d9b0')
{'F1': '0x30', 'F2': '0x26', 'F3': '0x1d', 'F4': '0x3c', 'F5': '0x35'}

>>> main('0x17a2eff55')
{'F1': '0x15', 'F2': '0x3d', 'F3': '0xef', 'F4': '0x11', 'F5': '0x2f'}

>>> main('0x6c2d38eb')
{'F1': '0x2b', 'F2': '0x23', 'F3': '0xd3', 'F4': '0x21', 'F5': '0xd'}

Вариант №5

Задача №8

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

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

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

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

Целое.
0 1 7 8 9 10 17 18 21 V1 V2 V3 V4 V5

Тесты:

>>> main(('0x1', '0x4f', '0x2', '0x11', '0xb'))
2901663

>>> main(('0x0', '0x3e', '0x1', '0x43', '0x7'))
1903996

>>> main(('0x1', '0x46', '0x1', '0x48', '0x1'))
336269

>>> main(('0x0', '0x33', '0x3', '0x5e', '0xe'))
3767142

Вариант №6

Задача №8

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

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

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

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

Десятичная строка.
0 9 10 15 16 17 U1 U2 U3 18 21 22 24 25 34 U3 U4 U5

Тесты:

>>> main({'U1': '80', 'U2': '11', 'U3': '11', 'U4': '3', 'U5': '773'})
'25950891088'

>>> main({'U1': '67', 'U2': '48', 'U3': '21', 'U4': '5', 'U5': '160'})
'5391106115'

>>> main({'U1': '98', 'U2': '61', 'U3': '19', 'U4': '4', 'U5': '444'})
'14916252770'

>>> main({'U1': '526', 'U2': '4', 'U3': '18', 'U4': '5', 'U5': '243'})
'8175882766'

Вариант №7

Задача №8

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

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

Десятичная строка.
0 8 9 10 11 15 16 M1 M2 M3 M4 17 22 23 32 M4

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

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

Тесты:

>>> main('2744477')
{'M1': 157, 'M2': 0, 'M3': 28, 'M4': 41}

>>> main('6093698')
{'M1': 386, 'M2': 1, 'M3': 31, 'M4': 92}

>>> main('5419473')
{'M1': 465, 'M2': 0, 'M3': 22, 'M4': 82}

>>> main('8110518')
{'M1': 438, 'M2': 0, 'M3': 24, 'M4': 123}

Вариант №8

Задача №8

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

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

Целое.

0 5 6 14 15 Z2 Z3 16 19 20 24 25 31 Z3 Z4 Z5

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

Целое.

0 4 5 9 10 15 Z4 Z3 Z2 16 18 19 24 25 31 Z2 Z5

Тесты:

>>> main(2707310650)
2684650389

>>> main(2147056773)
2114439775

>>> main(1049220484)
1040538216

>>> main(969076187)
939973820

Вариант №9

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 1 2 9 10 15 16 17 G1 G3 G4 18 22 23 28 29 35 G4 G5 G6

Тесты:

>>> main(('0x2', '0x3b', '0x11', '0x37', '0x46'))
'0x8db91ec02'

>>> main(('0x1', '0x7', '0x7b', '0x3a', '0x63'))
'0xc7d7b1c01'

>>> main(('0x2', '0x1b', '0x26', '0x18', '0x73'))
'0xe6c266c02'

>>> main(('0x0', '0xf', '0x31', '0x11', '0x47'))
'0x8e8b13c00'

Вариант №10

Задача №8

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

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

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

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

Десятичная строка.
0 1 8 9 10 11 16 S1 S2 S3

Тесты:

>>> main([('S1', '0x0'), ('S2', '0x3e'), ('S3', '0x2')])
'1148'

>>> main([('S1', '0x0'), ('S2', '0x53'), ('S3', '0x0')])
'166'

>>> main([('S1', '0x0'), ('S2', '0xcd'), ('S3', '0x1')])
'922'

>>> main([('S1', '0x0'), ('S2', '0x7f'), ('S3', '0x3')])
'1790'

Вариант №11

Задача №8

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

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

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

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

Десятичная строка.
0 3 4 10 11 15 P1 P2 P3 16 19 20 22 23 31 P3 P4 P5

Тесты:

>>> main({'P1': '0x9', 'P2': '0xc', 'P3': '0x117', 'P4': '0x4', 'P5': '0x116'})
'2336798921'

>>> main({'P1': '0xf', 'P2': '0x3b', 'P3': '0x1da', 'P4': '0x2', 'P5': '0x112'})
'2301547455'

>>> main({'P1': '0x0', 'P2': '0x3b', 'P3': '0x1f7', 'P4': '0x2', 'P5': '0x58'})
'741325744'

>>> main({'P1': '0x1', 'P2': '0x64', 'P3': '0x1cf', 'P4': '0x0', 'P5': '0x1c6'})
'3809377857'

Вариант №12

Задача №8

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

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

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

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

Десятичная строка.
0 7 8 9 17 18 23 L1 L2 L3 L4

Тесты:

>>> main({'L1': 61, 'L2': 0, 'L3': 285, 'L4': 13})
'3553853'

>>> main({'L1': 246, 'L2': 1, 'L3': 241, 'L4': 46})
'12182518'

>>> main({'L1': 208, 'L2': 1, 'L3': 156, 'L4': 58})
'15284688'

>>> main({'L1': 60, 'L2': 1, 'L3': 310, 'L4': 51})
'13528380'

Вариант №13

Задача №8

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

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

Шестнадцатиричная строка.
0 3 4 7 8 15 16 20 H1 H3 H4

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

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

Тесты:

>>> main('0x1bdff4')
{'H1': '4', 'H3': '223', 'H4': '27'}

>>> main('0x15270')
{'H1': '0', 'H3': '82', 'H4': '1'}

>>> main('0x1c8e1d')
{'H1': '13', 'H3': '142', 'H4': '28'}

>>> main('0xd124b')
{'H1': '11', 'H3': '18', 'H4': '13'}

Вариант №14

Задача №8

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

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

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

0 2 3 4 7 8 9 10 13 T1 T2 T4 T5

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

Целое.

0 3 4 5 6 8 9 10 13 T4 T1 T2 T5

Тесты:

>>> main('4437')
4432

>>> main('6483')
6352

>>> main('7059')
6384

>>> main('5164')
5888

Вариант №15

Задача №8

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

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

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

0 1 2 3 12 13 20 21 28 C1 C2 C3 C4 C5

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

Целое.

0 1 2 9 10 19 20 21 28 C2 C4 C3 C1 C5

Тесты:

>>> main('487936047')
488117931

>>> main('507790739')
508741769

>>> main('113074024')
112179112

>>> main('257104844')
256763490

Вариант №16

Задача №8

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

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

Шестнадцатиричная строка.
0 1 10 11 13 14 18 C1 C3 C4

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

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

Тесты:

>>> main('0x10805')
[('C1', 1), ('C3', 1), ('C4', 4)]

>>> main('0x78bea')
[('C1', 0), ('C3', 1), ('C4', 30)]

>>> main('0x5ae41')
[('C1', 1), ('C3', 5), ('C4', 22)]

>>> main('0x43499')
[('C1', 1), ('C3', 6), ('C4', 16)]

Вариант №17

Задача №8

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

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

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

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

Целое.
0 5 6 14 15 17 18 26 J1 J2 J4

Тесты:

>>> main([('J1', 61), ('J2', 7), ('J4', 210)])
55050749

>>> main([('J1', 40), ('J2', 7), ('J4', 331)])
86770152

>>> main([('J1', 11), ('J2', 435), ('J4', 384)])
100691147

>>> main([('J1', 58), ('J2', 432), ('J4', 266)])
69758010

Вариант №18

Задача №8

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

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

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

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

Десятичная строка.
0 5 6 10 11 12 13 18 19 23 E1 E2 E3 E5

Тесты:

>>> main([('E1', '0x1'), ('E2', '0x0'), ('E3', '0x3'), ('E5', '0x10')])
'8394753'

>>> main([('E1', '0x25'), ('E2', '0x16'), ('E3', '0x1'), ('E5', '0x17')])
'12062117'

>>> main([('E1', '0x26'), ('E2', '0x15'), ('E3', '0x0'), ('E5', '0x1')])
'525670'

>>> main([('E1', '0x8'), ('E2', '0x7'), ('E3', '0x3'), ('E5', '0x15')])
'11016648'

Вариант №19

Задача №8

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

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

Шестнадцатиричная строка.
0 8 9 14 15 16 L1 L2 L3 17 21 22 26 27 32 L4 L5

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

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

Тесты:

>>> main('0x4953ddc')
[('L1', '476'), ('L2', '30'), ('L3', '2'), ('L4', '10'), ('L5', '18')]

>>> main('0x1460225')
[('L1', '37'), ('L2', '1'), ('L3', '0'), ('L4', '3'), ('L5', '5')]

>>> main('0x1f8e3d0')
[('L1', '464'), ('L2', '49'), ('L3', '1'), ('L4', '28'), ('L5', '7')]

>>> main('0x3f80948')
[('L1', '328'), ('L2', '4'), ('L3', '0'), ('L4', '28'), ('L5', '15')]

Вариант №20

Задача №8

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

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

Целое.

0 4 5 6 15 16 W1 W2 W3 17 22 23 29 30 32 W5 W6

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

Целое.

0 1 10 11 16 W2 W3 W5 17 18 20 21 25 26 32 W5 W6 W1

Тесты:

>>> main(7180899680)
1754795

>>> main(5778345733)
11895928

>>> main(2466890671)
32060957

>>> main(3927162663)
15640057

Вариант №21

Задача №8

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

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

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

0 1 2 4 5 14 15 21 22 23 27 J1 J2 J3 J4 J5 J6

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

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

0 9 10 12 13 17 18 19 20 21 27 J3 J2 J6 J1 J5 J4

Тесты:

>>> main('97667661')
'76901970'

>>> main('49564161')
'219456080'

>>> main('267392245')
'202896551'

>>> main('196543952')
'230879278'

Вариант №22

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 8 9 16 17 18 19 20 27 Y1 Y2 Y3 Y4 Y5

Тесты:

>>> main({'Y1': '0x122', 'Y2': '0x93', 'Y3': '0x2', 'Y4': '0x0', 'Y5': '0x8a'})
'0x8a52722'

>>> main({'Y1': '0xec', 'Y2': '0xf', 'Y3': '0x1', 'Y4': '0x0', 'Y5': '0x24'})
'0x2421eec'

>>> main({'Y1': '0x3', 'Y2': '0x8', 'Y3': '0x1', 'Y4': '0x1', 'Y5': '0x77'})
'0x77a1003'

>>> main({'Y1': '0xcf', 'Y2': '0x25', 'Y3': '0x2', 'Y4': '0x1', 'Y5': '0x67'})
'0x67c4acf'

Вариант №23

Задача №8

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

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

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

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

Целое.
0 5 6 7 15 16 17 N1 N2 N4 18 24 25 26 27 34 N4 N5 N6

Тесты:

>>> main({'N1': '35', 'N2': '0', 'N4': '110', 'N5': '2', 'N6': '5'})
745406499

>>> main({'N1': '26', 'N2': '0', 'N4': '359', 'N5': '3', 'N6': '53'})
7237730330

>>> main({'N1': '52', 'N2': '0', 'N4': '450', 'N5': '3', 'N6': '140'})
18920636468

>>> main({'N1': '61', 'N2': '1', 'N4': '444', 'N5': '1', 'N6': '131'})
17645174909

Вариант №24

Задача №8

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

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

Десятичная строка.
0 1 2 8 9 13 14 19 20 21 26 X1 X2 X3 X4 X5 X6

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

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

Тесты:

>>> main('57539216')
[('X1', '0'), ('X2', '36'), ('X3', '29'), ('X4', '55'), ('X5', '0'), ('X6', '27')]

>>> main('56138625')
[('X1', '1'), ('X2', '96'), ('X3', '13'), ('X4', '34'), ('X5', '1'), ('X6', '26')]

>>> main('53952335')
[('X1', '3'), ('X2', '83'), ('X3', '31'), ('X4', '28'), ('X5', '1'), ('X6', '25')]

>>> main('65183662')
[('X1', '2'), ('X2', '107'), ('X3', '15'), ('X4', '10'), ('X5', '0'), ('X6', '31')]

Вариант №25

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 4 5 10 11 17 18 23 24 27 O2 O3 O4 O5

Тесты:

>>> main({'O2': 5, 'O3': 46, 'O4': 8, 'O5': 11})
'0xb2170a0'

>>> main({'O2': 61, 'O3': 63, 'O4': 36, 'O5': 13})
'0xd91ffa0'

>>> main({'O2': 60, 'O3': 62, 'O4': 27, 'O5': 11})
'0xb6df780'

>>> main({'O2': 10, 'O3': 53, 'O4': 10, 'O5': 3})
'0x329a940'

Вариант №26

Задача №8

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

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

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

0 8 9 10 16 17 26 Y1 Y2 Y3 Y4

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

Целое.

0 6 7 15 16 17 26 Y3 Y1 Y2 Y4

Тесты:

>>> main('102066995')
102078938

>>> main('41927275')
41891312

>>> main('26457996')
26461805

>>> main('102553800')
102523958

Вариант №27

Задача №8

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

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

Целое.

0 8 9 10 11 16 17 19 20 26 J1 J2 J4 J5

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

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

0 5 6 12 13 15 16 24 25 26 J5 J4 J1 J2

Тесты:

>>> main(46668378)
'0x25a8b00'

>>> main(94656560)
'0x305680'

>>> main(83983058)
'0x2d21400'

>>> main(125742420)
'0x554fdc0'

Вариант №28

Задача №8

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

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

Целое.

0 1 2 5 6 8 9 17 18 21 22 24 W1 W2 W3 W4 W5 W6

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

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

0 1 2 10 11 14 15 18 19 21 22 24 W1 W4 W2 W5 W6 W3

Тесты:

>>> main(2173094)
'0x844a52'

>>> main(24130903)
'0x16e286b'

>>> main(13127176)
'0x19109c'

>>> main(22760094)
'0xab3e96'

Вариант №29

Задача №8

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

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

Целое.
0 6 7 11 12 16 Z2 Z3 17 21 22 23 24 30 31 32 Z3 Z4 Z5 Z6

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

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

Тесты:

>>> main(3745756135)
[('Z2', '0x7'), ('Z3', '0x3b'), ('Z4', '0x1'), ('Z5', '0x5f'), ('Z6', '0x1')]

>>> main(5667638371)
[('Z2', '0x18'), ('Z3', '0x114'), ('Z4', '0x3'), ('Z5', '0x51'), ('Z6', '0x2')]

>>> main(4803841297)
[('Z2', '0x1a'), ('Z3', '0x14c'), ('Z4', '0x1'), ('Z5', '0x1e'), ('Z6', '0x2')]

>>> main(4635062817)
[('Z2', '0x4'), ('Z3', '0x57'), ('Z4', '0x1'), ('Z5', '0x14'), ('Z6', '0x2')]

Вариант №30

Задача №8

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

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

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

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

Десятичная строка.
0 6 7 8 9 16 17 20 B1 B2 B3 21 24 25 32 33 40 B5 B6

Тесты:

>>> main([('B1', 39), ('B2', 0), ('B3', 159), ('B5', 55), ('B6', 75)])
'646090669607'

>>> main([('B1', 48), ('B2', 1), ('B3', 114), ('B5', 153), ('B6', 106)])
'915666953392'

>>> main([('B1', 85), ('B2', 0), ('B3', 151), ('B5', 5), ('B6', 14)])
'120426933845'

>>> main([('B1', 94), ('B2', 1), ('B3', 108), ('B5', 205), ('B6', 132)])
'1140750080222'

Вариант №31

Задача №8

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

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

Шестнадцатиричная строка.
0 5 6 14 15 16 K1 K2 K3 17 23 24 32 K3

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

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

Тесты:

>>> main('0x1bc253')
{'K1': 19, 'K2': 265, 'K3': 55}

>>> main('0x742ae9')
{'K1': 41, 'K2': 171, 'K3': 232}

>>> main('0x58921e')
{'K1': 30, 'K2': 72, 'K3': 177}

>>> main('0xb64ea0')
{'K1': 32, 'K2': 314, 'K3': 364}

Вариант №32

Задача №8

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

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

Целое.

0 9 10 15 D2 16 18 19 23 24 31 D2 D3 D4

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

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

0 7 8 15 D4 16 17 18 26 27 31 D2 D3

Тесты:

>>> main(4036438285)
'0x972800f0'

>>> main(1288415094)
'0xcba4004c'

>>> main(3892823533)
'0x7c400e8'

>>> main(351937447)
'0xfa200014'

Вариант №33

Задача №8

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

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

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

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

Целое.
0 5 6 14 15 21 22 V1 V2 V4

Тесты:

>>> main({'V1': 46, 'V2': 271, 'V4': 0})
17390

>>> main({'V1': 13, 'V2': 77, 'V4': 0})
4941

>>> main({'V1': 27, 'V2': 213, 'V4': 0})
13659

>>> main({'V1': 18, 'V2': 252, 'V4': 0})
16146

Вариант №34

Задача №8

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

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

Шестнадцатиричная строка.
0 8 9 15 16 20 R1 R2 21 23 24 33 34 40 R4 R5

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

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

Тесты:

>>> main('0x110e9abe09c')
[('R1', '0x9c'), ('R2', '0x70'), ('R4', '0xe9'), ('R5', '0x44')]

>>> main('0x18f4a89174e')
[('R1', '0x14e'), ('R2', '0xb'), ('R4', '0x34a'), ('R5', '0x63')]

>>> main('0xc1f2ac2c8b')
[('R1', '0x8b'), ('R2', '0x16'), ('R4', '0x1f2'), ('R5', '0x30')]

>>> main('0xc49b6a2899')
[('R1', '0x99'), ('R2', '0x14'), ('R4', '0x9b'), ('R5', '0x31')]

Вариант №35

Задача №8

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

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

Шестнадцатиричная строка.
0 7 8 9 10 16 F1 F3 17 19 20 27 28 33 F3 F4 F5

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

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

Тесты:

>>> main('0x17a8b5535')
[('F1', '0x35'), ('F3', '0x2d5'), ('F4', '0xa8'), ('F5', '0x17')]

>>> main('0x1f0ab7f51')
[('F1', '0x51'), ('F3', '0x2df'), ('F4', '0xa'), ('F5', '0x1f')]

>>> main('0x3f6d6f492')
[('F1', '0x92'), ('F3', '0x1bd'), ('F4', '0x6d'), ('F5', '0x3f')]

>>> main('0x406120f3')
[('F1', '0xf3'), ('F3', '0x48'), ('F4', '0x6'), ('F5', '0x4')]

Вариант №36

Задача №8

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

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

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

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

Десятичная строка.
0 8 9 11 12 18 19 24 25 G1 G2 G3 G4 G5

Тесты:

>>> main(('297', '3', '84', '41', '1'))
'55396137'

>>> main(('467', '2', '0', '62', '1'))
'66061779'

>>> main(('128', '7', '105', '14', '0'))
'7773824'

>>> main(('3', '5', '44', '17', '0'))
'9095683'

Вариант №37

Задача №8

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

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

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

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

Десятичная строка.
0 4 5 9 10 15 P1 P2 P3 16 17 18 22 23 25 26 31 P3 P5 P6

Тесты:

>>> main({'P1': 7, 'P2': 2, 'P3': 27, 'P5': 7, 'P6': 26})
'1803578439'

>>> main({'P1': 6, 'P2': 11, 'P3': 43, 'P5': 1, 'P6': 24})
'1619045734'

>>> main({'P1': 25, 'P2': 20, 'P3': 243, 'P5': 1, 'P6': 44})
'2961428121'

>>> main({'P1': 8, 'P2': 28, 'P3': 241, 'P5': 1, 'P6': 3})
'209962888'

Вариант №38

Задача №8

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

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

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

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

Целое.
0 6 7 12 13 14 20 H1 H2 H3 21 23 24 32 33 41 H5 H6

Тесты:

>>> main([('H1', '0x24'), ('H2', '0x28'), ('H3', '0x0'), ('H5', '0x1b4'), ('H6', '0xb5')])
1562093032484

>>> main([('H1', '0x48'), ('H2', '0x35'), ('H3', '0x1'), ('H5', '0xd2'), ('H6', '0x183')])
3327827917512

>>> main([('H1', '0x4b'), ('H2', '0xa'), ('H3', '0x0'), ('H5', '0x1fe'), ('H6', '0x9b')])
1339996243275

>>> main([('H1', '0x56'), ('H2', '0xf'), ('H3', '0x1'), ('H5', '0x68'), ('H6', '0xe9')])
2003199600598

Вариант №39

Задача №8

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

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

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

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

Десятичная строка.
0 2 3 11 12 19 20 22 23 27 S1 S2 S3 S4 S5

Тесты:

>>> main({'S1': '0x7', 'S2': '0x1ef', 'S3': '0xdb', 'S4': '0x5', 'S5': '0x12'})
'157138815'

>>> main({'S1': '0x1', 'S2': '0xf2', 'S3': '0x84', 'S4': '0x3', 'S5': '0x12'})
'154683281'

>>> main({'S1': '0x3', 'S2': '0xb8', 'S3': '0x8f', 'S4': '0x3', 'S5': '0x2'})
'20510147'

>>> main({'S1': '0x7', 'S2': '0x3', 'S3': '0xcb', 'S4': '0x7', 'S5': '0xf'})
'134000671'

Вариант №40

Задача №8

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

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

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

0 9 10 12 13 19 20 21 Z1 Z2 Z3 Z4 22 28 29 36 37 43 Z4 Z5 Z6

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

Целое.

0 6 7 16 17 19 20 21 Z3 Z1 Z2 Z4 22 28 29 35 36 43 Z4 Z6 Z5

Тесты:

>>> main('0x8777e314d18')
12887019392010

>>> main('0xb2c8f2ae50d')
6919983105751

>>> main('0x41007f309ce')
8813406381848

>>> main('0x91bd6e6b732')
15294763079989