ИКБО-37-22

Вариант №1

Задача №8

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

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

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

0 5 6 11 12 15 16 21 22 25 A1 A2 A3 A4

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

Целое.

0 3 4 9 10 13 14 19 20 25 A4 A3 A1 A2

Тесты:

>>> main('0x96f71')
64772240

>>> main('0x308921')
38298368

>>> main('0x27e79d')
31947376

>>> main('0x343017')
380736

Вариант №2

Задача №8

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

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

Целое.

0 6 7 15 Z1 Z2 16 18 19 21 22 25 26 31 Z3 Z4 Z5 Z6

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

Целое.

0 3 4 12 13 15 Z5 Z2 Z3 16 18 19 24 25 31 Z4 Z6 Z1

Тесты:

>>> main(973487495)
242272184

>>> main(2540240788)
690823165

>>> main(2229508939)
2534175587

>>> main(3216430270)
2105465502

Вариант №3

Задача №8

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

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

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

0 6 7 15 16 18 S1 S2 S3 19 25 26 34 35 36 S3 S4 S5

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

Целое.

0 1 2 11 12 18 S5 S3 S1 19 27 28 36 S2 S4

Тесты:

>>> main('20702361603')
82938181584

>>> main('23998286184')
96042650016

>>> main('66137523814')
127110899817

>>> main('27568196353')
110137187524

Вариант №4

Задача №8

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

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

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

0 6 7 9 10 11 12 19 20 28 K1 K2 K3 K4 K5

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

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

0 2 3 10 11 12 13 19 20 28 K2 K4 K3 K1 K5

Тесты:

>>> main('0x17ee2505')
'0x17e0af12'

>>> main('0x173a850f')
'0x1731ed42'

>>> main('0x15f6b4dd')
'0x15fbab59'

>>> main('0x14766708')
'0x14710b36'

Вариант №5

Задача №8

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

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

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

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

Десятичная строка.
0 7 8 10 11 12 13 17 18 23 24 Y1 Y2 Y3 Y4 Y5 Y6

Тесты:

>>> main([('Y1', 245), ('Y2', 6), ('Y3', 0), ('Y4', 8), ('Y5', 38), ('Y6', 1)])
'26806005'

>>> main([('Y1', 83), ('Y2', 2), ('Y3', 1), ('Y4', 28), ('Y5', 12), ('Y6', 0)])
'3377747'

>>> main([('Y1', 158), ('Y2', 7), ('Y3', 1), ('Y4', 1), ('Y5', 22), ('Y6', 0)])
'5779358'

>>> main([('Y1', 251), ('Y2', 4), ('Y3', 3), ('Y4', 7), ('Y5', 53), ('Y6', 1)])
'30735611'

Вариант №6

Задача №8

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

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

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

0 3 4 9 10 17 18 26 M1 M2 M3

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

Целое.

0 5 6 14 15 22 23 26 M2 M3 M1

Тесты:

>>> main('148539')
97026051

>>> main('18030')
117997606

>>> main('109228')
104136746

>>> main('241802')
91619336

Вариант №7

Задача №8

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

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

Целое.

0 4 5 7 8 16 17 20 21 22 24 R1 R2 R3 R4 R5

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

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

0 4 5 7 8 16 17 19 20 23 24 R1 R3 R2 R4 R5

Тесты:

>>> main(2303985)
'0x11f2711'

>>> main(3371885)
'0x197730d'

>>> main(1463033)
'0xbe5219'

>>> main(3782177)
'0x1c3b601'

Вариант №8

Задача №8

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

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

Шестнадцатиричная строка.
0 9 10 14 15 16 17 20 21 E1 E2 E3 E4

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

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

Тесты:

>>> main('0x10d61c')
('0x21c', '0x15', '0x1', '0x8')

>>> main('0xd3d96')
('0x196', '0xf', '0x2', '0x6')

>>> main('0x198625')
('0x225', '0x1', '0x3', '0xc')

>>> main('0x4ab7d')
('0x37d', '0xa', '0x1', '0x2')

Вариант №9

Задача №8

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

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

Шестнадцатиричная строка.
0 5 6 11 12 15 16 20 21 22 23 27 N1 N2 N3 N4 N5 N6

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

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

Тесты:

>>> main('0x8c9836f')
[('N1', '47'), ('N2', '13'), ('N3', '8'), ('N4', '9'), ('N5', '2'), ('N6', '17')]

>>> main('0x66fd28')
[('N1', '40'), ('N2', '52'), ('N3', '15'), ('N4', '6'), ('N5', '3'), ('N6', '0')]

>>> main('0x840abd3')
[('N1', '19'), ('N2', '47'), ('N3', '10'), ('N4', '0'), ('N5', '2'), ('N6', '16')]

>>> main('0x849a6')
[('N1', '38'), ('N2', '38'), ('N3', '4'), ('N4', '8'), ('N5', '0'), ('N6', '0')]

Вариант №10

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 1 6 7 15 16 21 22 24 25 26 U1 U2 U3 U4 U5 U6

Тесты:

>>> main(('0x1', '0xe', '0x8e', '0x37', '0x5', '0x3'))
'0x777471d'

>>> main(('0x0', '0x3', '0xa6', '0x22', '0x3', '0x0'))
'0xe25306'

>>> main(('0x1', '0x26', '0xde', '0x28', '0x2', '0x2'))
'0x4a86f4d'

>>> main(('0x0', '0x26', '0x34', '0x35', '0x1', '0x2'))
'0x4751a4c'

Вариант №11

Задача №8

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

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

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

0 1 9 10 17 18 22 J1 J2 J3

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

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

0 7 8 9 17 18 22 J3 J1 J2

Тесты:

>>> main('244772')
'0x24ef'

>>> main('102006')
'0x27663'

>>> main('210573')
'0x28dcd'

>>> main('189452')
'0xcb9'

Вариант №12

Задача №8

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

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

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

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

Десятичная строка.
0 1 10 11 18 U1 U2 U3 19 20 21 25 26 27 36 U3 U4 U5 U6

Тесты:

>>> main([('U1', '0x0'), ('U2', '0x392'), ('U3', '0x2a0'), ('U4', '0xc'), ('U5', '0x0'), ('U6', '0x1a3')])
'56263771940'

>>> main([('U1', '0x0'), ('U2', '0x26b'), ('U3', '0x14b'), ('U4', '0xa'), ('U5', '0x0'), ('U6', '0x36a')])
'117327944918'

>>> main([('U1', '0x1'), ('U2', '0x89'), ('U3', '0x158'), ('U4', '0x1e'), ('U5', '0x0'), ('U6', '0x1c0')])
'60193161491'

>>> main([('U1', '0x1'), ('U2', '0x260'), ('U3', '0x166'), ('U4', '0xc'), ('U5', '0x0'), ('U6', '0x6b')])
'14387197121'

Вариант №13

Задача №8

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

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

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

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

Целое.
0 1 2 8 9 10 11 G1 G2 G3 G4

Тесты:

>>> main([('G1', '0'), ('G2', '32'), ('G3', '1'), ('G4', '3')])
3712

>>> main([('G1', '0'), ('G2', '87'), ('G3', '1'), ('G4', '2')])
2908

>>> main([('G1', '2'), ('G2', '18'), ('G3', '0'), ('G4', '3')])
3146

>>> main([('G1', '1'), ('G2', '93'), ('G3', '1'), ('G4', '0')])
885

Вариант №14

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 2 3 8 9 12 13 18 19 20 21 27 J2 J3 J4 J5 J6

Тесты:

>>> main(('36', '11', '12', '1', '126'))
'0xfc99720'

>>> main(('14', '1', '34', '2', '75'))
'0x9744270'

>>> main(('14', '8', '25', '1', '114'))
'0xe4b3070'

>>> main(('4', '14', '53', '3', '60'))
'0x79ebc20'

Вариант №15

Задача №8

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

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

Десятичная строка.
0 7 8 9 11 12 18 19 24 Y1 Y2 Y3 Y4 Y5

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

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

Тесты:

>>> main('7993791')
[('Y1', '191'), ('Y2', '1'), ('Y3', '4'), ('Y4', '31'), ('Y5', '15')]

>>> main('3519470')
[('Y1', '238'), ('Y2', '1'), ('Y3', '1'), ('Y4', '91'), ('Y5', '6')]

>>> main('21471859')
[('Y1', '115'), ('Y2', '0'), ('Y3', '1'), ('Y4', '122'), ('Y5', '40')]

>>> main('2875188')
[('Y1', '52'), ('Y2', '1'), ('Y3', '7'), ('Y4', '61'), ('Y5', '5')]

Вариант №16

Задача №8

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

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

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

0 5 6 8 9 12 13 21 22 23 24 25 F1 F2 F3 F4 F5 F6

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

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

0 3 4 12 13 18 19 21 22 23 24 25 F3 F4 F1 F2 F5 F6

Тесты:

>>> main('0x47ff47')
'6874111'

>>> main('0x24a38a')
'3232337'

>>> main('0x1641b78')
'24056333'

>>> main('0x2981a8')
'3478720'

Вариант №17

Задача №8

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

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

Десятичная строка.
0 1 4 5 7 8 F1 F2 F3

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

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

Тесты:

>>> main('137')
{'F1': '0x1', 'F2': '0x4', 'F3': '0x4'}

>>> main('187')
{'F1': '0x1', 'F2': '0xd', 'F3': '0x5'}

>>> main('153')
{'F1': '0x1', 'F2': '0xc', 'F3': '0x4'}

>>> main('58')
{'F1': '0x0', 'F2': '0xd', 'F3': '0x1'}

Вариант №18

Задача №8

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

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

Целое.

0 4 5 7 8 14 15 16 20 X1 X2 X3 X4 X5

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

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

0 6 7 9 10 14 15 19 20 X3 X2 X1 X5 X4

Тесты:

>>> main(1591003)
'814918'

>>> main(1830654)
'1965038'

>>> main(428617)
'1254666'

>>> main(203293)
'128026'

Вариант №19

Задача №8

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

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

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

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

Десятичная строка.
0 1 10 11 16 A1 A2 17 20 21 26 27 33 A4 A5

Тесты:

>>> main([('A1', 0), ('A2', 601), ('A4', 55), ('A5', 61)])
'8302625970'

>>> main([('A1', 1), ('A2', 376), ('A4', 45), ('A5', 112)])
'15126758129'

>>> main([('A1', 0), ('A2', 905), ('A4', 16), ('A5', 101)])
'13589546770'

>>> main([('A1', 0), ('A2', 29), ('A4', 21), ('A5', 87)])
'11720982586'

Вариант №20

Задача №8

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

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

Целое.
0 1 2 3 4 7 8 13 14 23 Z2 Z3 Z4 Z5

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

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

Тесты:

>>> main(8968145)
[('Z2', '0x0'), ('Z3', '0xd'), ('Z4', '0x17'), ('Z5', '0x223')]

>>> main(68530)
[('Z2', '0x0'), ('Z3', '0xb'), ('Z4', '0xb'), ('Z5', '0x4')]

>>> main(11324228)
[('Z2', '0x1'), ('Z3', '0x4'), ('Z4', '0xb'), ('Z5', '0x2b3')]

>>> main(4966526)
[('Z2', '0x3'), ('Z3', '0x7'), ('Z4', '0x8'), ('Z5', '0x12f')]

Вариант №21

Задача №8

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

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

Целое.

0 9 10 11 13 14 19 C1 C2 C3 C4

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

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

0 5 6 7 9 10 19 C4 C2 C3 C1

Тесты:

>>> main(809872)
'0xe41b1'

>>> main(543539)
'0xccca1'

>>> main(753419)
'0xc2fed'

>>> main(1002586)
'0x168fd'

Вариант №22

Задача №8

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

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

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

0 1 3 4 13 14 16 17 24 L1 L2 L4 L5

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

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

0 7 8 17 18 19 21 22 24 L5 L1 L2 L4

Тесты:

>>> main('0x1c87241')
'4456676'

>>> main('0x799aa2')
'25690172'

>>> main('0x144475')
'5505034'

>>> main('0x19552e9')
'23331018'

Вариант №23

Задача №8

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

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

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

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

Десятичная строка.
0 5 6 15 16 D1 D3 17 20 21 28 29 32 D3 D4 D5

Тесты:

>>> main(('0x15', '0x2', '0x5', '0xf'))
'8063680533'

>>> main(('0x30', '0x2', '0x57', '0xc'))
'6625034288'

>>> main(('0x3c', '0x16', '0xca', '0x8'))
'4720033852'

>>> main(('0x2e', '0x4', '0x7d', '0xa'))
'5631115310'

Вариант №24

Задача №8

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

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

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

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

Целое.
0 4 5 10 11 18 O1 O3 19 20 21 25 26 35 36 O3 O4 O5 O6

Тесты:

>>> main([('O1', '4'), ('O3', '858'), ('O4', '22'), ('O5', '869'), ('O6', '1')])
127084974084

>>> main([('O1', '29'), ('O3', '78'), ('O4', '30'), ('O5', '278'), ('O6', '0')])
18719338525

>>> main([('O1', '22'), ('O3', '295'), ('O4', '0'), ('O5', '250'), ('O6', '1')])
85497296918

>>> main([('O1', '22'), ('O3', '563'), ('O4', '1'), ('O5', '9'), ('O6', '0')])
607229974

Вариант №25

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 8 9 10 13 14 15 22 23 26 U1 U2 U3 U5 U6

Тесты:

>>> main([('U1', 31), ('U2', 0), ('U3', 7), ('U5', 189), ('U6', 5)])
'0x2de9c1f'

>>> main([('U1', 3), ('U2', 0), ('U3', 10), ('U5', 138), ('U6', 7)])
'0x3c52803'

>>> main([('U1', 128), ('U2', 0), ('U3', 12), ('U5', 26), ('U6', 4)])
'0x20d3080'

>>> main([('U1', 120), ('U2', 1), ('U3', 11), ('U5', 157), ('U6', 15)])
'0x7ceae78'

Вариант №26

Задача №8

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

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

Десятичная строка.
0 6 7 8 9 10 18 19 25 V1 V2 V3 V4 V5 V6

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

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

Тесты:

>>> main('38418169')
{'V1': '0x79', 'V2': '0x1', 'V3': '0x0', 'V4': '0x1', 'V5': '0x8d', 'V6': '0x49'}

>>> main('4336171')
{'V1': '0x2b', 'V2': '0x0', 'V3': '0x0', 'V4': '0x1', 'V5': '0x8a', 'V6': '0x8'}

>>> main('59753063')
{'V1': '0x67', 'V2': '0x0', 'V3': '0x0', 'V4': '0x1', 'V5': '0x1f0', 'V6': '0x71'}

>>> main('47457205')
{'V1': '0x35', 'V2': '0x1', 'V3': '0x1', 'V4': '0x1', 'V5': '0x108', 'V6': '0x5a'}

Вариант №27

Задача №8

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

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

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

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

Целое.
0 3 4 5 6 14 15 20 V1 V2 V3 V4

Тесты:

>>> main([('V1', 0), ('V2', 0), ('V3', 16), ('V4', 21)])
689152

>>> main([('V1', 5), ('V2', 0), ('V3', 458), ('V4', 43)])
1438341

>>> main([('V1', 7), ('V2', 1), ('V3', 509), ('V4', 53)])
1769303

>>> main([('V1', 9), ('V2', 0), ('V3', 428), ('V4', 29)])
977673

Вариант №28

Задача №8

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

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

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

0 7 8 15 16 20 21 23 24 26 L1 L2 L3 L4 L5

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

Целое.

0 2 3 10 11 18 19 23 24 26 L5 L2 L1 L3 L4

Тесты:

>>> main('32470437')
125643689

>>> main('28795391')
96467721

>>> main('27813943')
88193857

>>> main('122719224')
42452063

Вариант №29

Задача №8

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

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

Шестнадцатиричная строка.
0 3 4 10 11 13 14 20 21 23 24 28 K1 K2 K4 K5 K6

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

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

Тесты:

>>> main('0x16a9073b')
(11, 115, 36, 5, 22)

>>> main('0x10084dda')
(10, 93, 33, 0, 16)

>>> main('0x5e8f65')
(5, 118, 122, 2, 0)

>>> main('0x1573fc74')
(4, 71, 79, 3, 21)

Вариант №30

Задача №8

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

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

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

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

Целое.
0 4 5 6 11 12 13 14 I1 I2 I3 I4 I5

Тесты:

>>> main([('I1', 4), ('I2', 1), ('I3', 5), ('I4', 3), ('I5', 0)])
12644

>>> main([('I1', 18), ('I2', 0), ('I3', 13), ('I4', 0), ('I5', 0)])
850

>>> main([('I1', 12), ('I2', 1), ('I3', 15), ('I4', 2), ('I5', 0)])
9196

>>> main([('I1', 27), ('I2', 1), ('I3', 27), ('I4', 3), ('I5', 1)])
30459

Вариант №31

Задача №8

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

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

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

0 1 7 8 13 14 W1 W2 W3 W4

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

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

0 6 7 12 13 14 W2 W3 W1 W4

Тесты:

>>> main('17684')
'0x428a'

>>> main('29021')
'0x78ae'

>>> main('2177')
'0x2440'

>>> main('27506')
'0x55b9'

Вариант №32

Задача №8

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

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

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

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

Целое.
0 9 10 18 19 20 K1 K2 K3 21 23 24 32 33 40 K3 K5

Тесты:

>>> main({'K1': 229, 'K2': 201, 'K3': 6, 'K5': 77})
661428315365

>>> main({'K1': 929, 'K2': 155, 'K3': 19, 'K5': 242})
2078774292385

>>> main({'K1': 358, 'K2': 117, 'K3': 7, 'K5': 168})
1443112801638

>>> main({'K1': 165, 'K2': 293, 'K3': 23, 'K5': 194})
1666459669669

Вариант №33

Задача №8

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

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

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

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

Десятичная строка.
0 9 10 11 18 N1 N2 N3 19 20 25 26 27 28 36 N3 N4 N5 N6

Тесты:

>>> main([('N1', 982), ('N2', 1), ('N3', 267), ('N4', 41), ('N5', 0), ('N6', 82)])
'22055247830'

>>> main([('N1', 136), ('N2', 1), ('N3', 461), ('N4', 17), ('N5', 0), ('N6', 117)])
'31425719432'

>>> main([('N1', 926), ('N2', 1), ('N3', 468), ('N4', 9), ('N5', 3), ('N6', 376)])
'101143455646'

>>> main([('N1', 187), ('N2', 1), ('N3', 304), ('N4', 17), ('N5', 2), ('N6', 88)])
'23774987451'

Вариант №34

Задача №8

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

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

Десятичная строка.
0 1 5 6 10 11 12 P1 P2 P3 P4

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

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

Тесты:

>>> main('4090')
{'P1': '0', 'P2': '29', 'P3': '31', 'P4': '1'}

>>> main('5720')
{'P1': '0', 'P2': '12', 'P3': '25', 'P4': '2'}

>>> main('6074')
{'P1': '0', 'P2': '29', 'P3': '30', 'P4': '2'}

>>> main('2332')
{'P1': '0', 'P2': '14', 'P3': '4', 'P4': '1'}

Вариант №35

Задача №8

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

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

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

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

Десятичная строка.
0 9 10 19 20 22 D2 D3 23 25 26 30 31 40 41 44 D3 D4 D5 D6

Тесты:

>>> main([('D2', '0x114'), ('D3', '0x2a'), ('D4', '0x14'), ('D5', '0x193'), ('D6', '0xb')])
'25056078221312'

>>> main([('D2', '0x6d'), ('D3', '0x1f'), ('D4', '0x3'), ('D5', '0x1fa'), ('D6', '0x3')])
'7683930436608'

>>> main([('D2', '0x163'), ('D3', '0x1f'), ('D4', '0xa'), ('D5', '0x20b'), ('D6', '0xf')])
'34109186739200'

>>> main([('D2', '0x234'), ('D3', '0xf'), ('D4', '0xb'), ('D5', '0x235'), ('D6', '0x0')])
'1214082764800'

Вариант №36

Задача №8

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

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

Десятичная строка.
0 9 10 13 14 19 I1 I3 20 21 27 28 32 33 38 I3 I4 I5 I6

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

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

Тесты:

>>> main('382689672993')
[('I1', '801'), ('I3', '83'), ('I4', '80'), ('I5', '17'), ('I6', '44')]

>>> main('326584229813')
[('I1', '949'), ('I3', '63'), ('I4', '79'), ('I5', '0'), ('I6', '38')]

>>> main('105822497218')
[('I1', '450'), ('I3', '12'), ('I4', '28'), ('I5', '10'), ('I6', '12')]

>>> main('306059594496')
[('I1', '768'), ('I3', '75'), ('I4', '20'), ('I5', '20'), ('I6', '35')]

Вариант №37

Задача №8

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

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

Десятичная строка.
0 8 9 16 17 20 D1 D2 D3 21 25 26 35 36 40 D3 D5

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

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

Тесты:

>>> main('1979920960797')
[('D1', '0x11d'), ('D2', '0x26'), ('D3', '0x3e'), ('D5', '0x1c')]

>>> main('417151095275')
[('D1', '0x1eb'), ('D2', '0x48'), ('D3', '0x12'), ('D5', '0x6')]

>>> main('1746004685061')
[('D1', '0x105'), ('D2', '0x98'), ('D3', '0xfe'), ('D5', '0x19')]

>>> main('1177736638138')
[('D1', '0xba'), ('D2', '0x77'), ('D3', '0x149'), ('D5', '0x11')]

Вариант №38

Задача №8

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

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

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

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

Целое.
0 4 5 11 12 19 20 29 L1 L2 L3 L4

Тесты:

>>> main([('L1', '0x1b'), ('L2', '0x73'), ('L3', '0x17'), ('L4', '0x346')])
878804603

>>> main([('L1', '0x5'), ('L2', '0x75'), ('L3', '0x19'), ('L4', '0x1e8')])
511811237

>>> main([('L1', '0x11'), ('L2', '0x5'), ('L3', '0x73'), ('L4', '0x108')])
277295281

>>> main([('L1', '0x12'), ('L2', '0x7e'), ('L3', '0xde'), ('L4', '0x270')])
655224786

Вариант №39

Задача №8

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

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

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

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

Десятичная строка.
0 6 7 12 13 22 23 24 25 30 U1 U2 U3 U4 U5

Тесты:

>>> main((110, 43, 541, 2, 48))
'1631827438'

>>> main((119, 27, 626, 1, 58))
'1959677431'

>>> main((47, 8, 447, 0, 40))
'1345840175'

>>> main((112, 51, 77, 2, 24))
'822721008'

Вариант №40

Задача №8

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

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

Шестнадцатиричная строка.
0 2 3 4 5 10 11 18 19 28 29 30 R1 R2 R3 R4 R5 R6

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

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

Тесты:

>>> main('0x5c1e4fd4')
[('R1', '4'), ('R2', '2'), ('R3', '62'), ('R4', '201'), ('R5', '899'), ('R6', '2')]

>>> main('0x5bce1ce1')
[('R1', '1'), ('R2', '0'), ('R3', '39'), ('R4', '195'), ('R5', '889'), ('R6', '2')]

>>> main('0xcf57765')
[('R1', '5'), ('R2', '0'), ('R3', '59'), ('R4', '174'), ('R5', '414'), ('R6', '0')]

>>> main('0x51b721c9')
[('R1', '1'), ('R2', '1'), ('R3', '14'), ('R4', '228'), ('R5', '566'), ('R6', '2')]