ИКБО-15-22

Вариант №1

Задача №8

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

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

Целое.
0 1 5 6 7 8 10 11 18 X1 X2 X3 X4 X5

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

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

Тесты:

>>> main(468178)
[('X1', '0'), ('X2', '9'), ('X3', '3'), ('X4', '4'), ('X5', '228')]

>>> main(489790)
[('X1', '0'), ('X2', '31'), ('X3', '0'), ('X4', '1'), ('X5', '239')]

>>> main(447296)
[('X1', '0'), ('X2', '0'), ('X3', '1'), ('X4', '3'), ('X5', '218')]

>>> main(490870)
[('X1', '0'), ('X2', '27'), ('X3', '1'), ('X4', '5'), ('X5', '239')]

Вариант №2

Задача №8

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

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

Целое.
0 9 10 16 17 22 23 K1 K2 K3 K4

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

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

Тесты:

>>> main(14242500)
('708', '84', '44', '1')

>>> main(13716899)
('419', '83', '40', '1')

>>> main(4474540)
('684', '17', '34', '0')

>>> main(6266725)
('869', '103', '47', '0')

Вариант №3

Задача №8

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

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

Целое.
0 4 5 14 15 20 21 22 26 Y1 Y2 Y3 Y4 Y5

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

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

Тесты:

>>> main(63390891)
[('Y1', 11), ('Y2', 549), ('Y3', 14), ('Y4', 0), ('Y5', 15)]

>>> main(57386816)
[('Y1', 0), ('Y2', 314), ('Y3', 23), ('Y4', 1), ('Y5', 13)]

>>> main(89554963)
[('Y1', 19), ('Y2', 0), ('Y3', 45), ('Y4', 0), ('Y5', 21)]

>>> main(21128054)
[('Y1', 22), ('Y2', 795), ('Y3', 4), ('Y4', 0), ('Y5', 5)]

Вариант №4

Задача №8

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

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

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

0 2 3 9 10 11 15 T1 T2 T3 T4

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

Целое.

0 6 7 11 12 13 15 T2 T4 T3 T1

Тесты:

>>> main('0x1c11')
12674

>>> main('0x694a')
18089

>>> main('0xd16a')
19757

>>> main('0x2565')
45612

Вариант №5

Задача №8

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

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

Десятичная строка.
0 2 3 9 10 15 D1 D2 D3 16 18 19 26 27 31 D3 D4 D5

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

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

Тесты:

>>> main('2093157730')
[('D1', 2), ('D2', 44), ('D3', 195), ('D4', 152), ('D5', 15)]

>>> main('992923130')
[('D1', 2), ('D2', 63), ('D3', 435), ('D4', 101), ('D5', 7)]

>>> main('3170499254')
[('D1', 6), ('D2', 86), ('D3', 126), ('D4', 159), ('D5', 23)]

>>> main('4256509698')
[('D1', 2), ('D2', 96), ('D3', 331), ('D4', 182), ('D5', 31)]

Вариант №6

Задача №8

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

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

Целое.
0 1 10 11 12 17 18 23 24 25 V1 V2 V3 V4 V5 V6

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

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

Тесты:

>>> main(24516893)
[('V1', '0x1'), ('V2', '0x8e'), ('V3', '0x1'), ('V4', '0x21'), ('V5', '0x1d'), ('V6', '0x1')]

>>> main(36175375)
[('V1', '0x1'), ('V2', '0x307'), ('V3', '0x1'), ('V4', '0x3f'), ('V5', '0x9'), ('V6', '0x2')]

>>> main(44353978)
[('V1', '0x0'), ('V2', '0xdd'), ('V3', '0x1'), ('V4', '0xc'), ('V5', '0x29'), ('V6', '0x2')]

>>> main(22625524)
[('V1', '0x0'), ('V2', '0x27a'), ('V3', '0x1'), ('V4', '0x13'), ('V5', '0x16'), ('V6', '0x1')]

Вариант №7

Задача №8

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

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

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

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

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

Тесты:

>>> main(2567709)
{'V1': '0x1', 'V2': '0xe', 'V3': '0x3', 'V4': '0x65', 'V5': '0x9'}

>>> main(8268496)
{'V1': '0x0', 'V2': '0x68', 'V3': '0x1', 'V4': '0x45', 'V5': '0x1f'}

>>> main(14602033)
{'V1': '0x1', 'V2': '0x98', 'V3': '0x3', 'V4': '0x59', 'V5': '0x37'}

>>> main(9616705)
{'V1': '0x1', 'V2': '0xa0', 'V3': '0x2', 'V4': '0x57', 'V5': '0x24'}

Вариант №8

Задача №8

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

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

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

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

Десятичная строка.
0 1 7 8 15 16 G1 G2 G3 G4

Тесты:

>>> main(('1', '98', '113', '1'))
'94661'

>>> main(('1', '34', '187', '1'))
'113477'

>>> main(('1', '109', '132', '1'))
'99547'

>>> main(('1', '62', '142', '0'))
'36477'

Вариант №9

Задача №8

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

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

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

0 2 3 4 9 10 12 13 20 N1 N2 N3 N4 N5

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

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

0 5 6 8 9 16 17 19 20 N3 N1 N5 N4 N2

Тесты:

>>> main('780405')
'311111'

>>> main('1085953')
'591968'

>>> main('486511')
'1472454'

>>> main('209027')
'537288'

Вариант №10

Задача №8

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

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

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

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

Целое.
0 1 10 11 13 14 19 20 23 24 30 Q1 Q2 Q3 Q4 Q5 Q6

Тесты:

>>> main([('Q1', '0x1'), ('Q2', '0xf6'), ('Q3', '0x5'), ('Q4', '0x18'), ('Q5', '0x7'), ('Q6', '0x6')])
108407277

>>> main([('Q1', '0x0'), ('Q2', '0x10b'), ('Q3', '0x4'), ('Q4', '0x16'), ('Q5', '0xe'), ('Q6', '0x4d')])
1306894870

>>> main([('Q1', '0x0'), ('Q2', '0x320'), ('Q3', '0x0'), ('Q4', '0x8'), ('Q5', '0xa'), ('Q6', '0x5c')])
1554122304

>>> main([('Q1', '0x0'), ('Q2', '0x2d8'), ('Q3', '0x1'), ('Q4', '0x3f'), ('Q5', '0x7'), ('Q6', '0x7e')])
2122304944

Вариант №11

Задача №8

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

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

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

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

Десятичная строка.
0 3 4 7 8 16 17 25 26 28 U1 U2 U3 U4 U5

Тесты:

>>> main(('2', '4', '221', '92', '2'))
'146332994'

>>> main(('12', '11', '116', '296', '7'))
'508589244'

>>> main(('6', '4', '37', '363', '3'))
'248915270'

>>> main(('11', '0', '392', '280', '4'))
'305235979'

Вариант №12

Задача №8

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

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

Целое.
0 8 9 14 15 19 B2 B3 20 22 23 27 28 31 32 38 B3 B4 B5 B6

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

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

Тесты:

>>> main(545157159011)
{'B2': 12, 'B3': 204, 'B4': 27, 'B5': 14, 'B6': 126}

>>> main(313600717200)
{'B2': 24, 'B3': 30, 'B4': 8, 'B5': 0, 'B6': 73}

>>> main(361606336684)
{'B2': 40, 'B3': 213, 'B4': 2, 'B5': 3, 'B6': 84}

>>> main(513376892361)
{'B2': 26, 'B3': 75, 'B4': 15, 'B5': 8, 'B6': 119}

Вариант №13

Задача №8

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

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

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

0 4 5 13 14 16 17 21 L1 L2 L3 L4

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

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

0 8 9 13 14 18 19 21 L2 L1 L4 L3

Тесты:

>>> main('3395636')
'4089985'

>>> main('839156')
'1681519'

>>> main('3799466')
'4134349'

>>> main('1061776')
'139676'

Вариант №14

Задача №8

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

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

Шестнадцатиричная строка.
0 1 2 5 6 14 15 16 E2 E3 E4

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

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

Тесты:

>>> main('0xb1f8')
(14, 199, 1)

>>> main('0x1c755')
(5, 285, 3)

>>> main('0xf6a7')
(9, 474, 1)

>>> main('0x16bd3')
(4, 431, 2)

Вариант №15

Задача №8

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

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

Шестнадцатиричная строка.
0 3 4 6 7 14 15 18 19 24 N1 N2 N3 N4 N5

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

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

Тесты:

>>> main('0xf706db')
('11', '5', '13', '14', '30')

>>> main('0x17bce2b')
('11', '2', '156', '7', '47')

>>> main('0x17894e')
('14', '4', '18', '15', '2')

>>> main('0x12cc8e9')
('9', '6', '145', '9', '37')

Вариант №16

Задача №8

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

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

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

0 6 7 15 W2 16 20 21 24 25 31 W3 W4 W5

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

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

0 4 5 8 9 15 W3 W4 W2 16 17 18 24 25 31 W2 W5

Тесты:

>>> main('0xb5fd2f39')
'0x168bdfd'

>>> main('0x2116f693')
'0x43db16'

>>> main('0x1967246f')
'0x309167'

>>> main('0xa5283a19')
'0x148e928'

Вариант №17

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 1 4 5 12 13 14 D2 D3 D4

Тесты:

>>> main(('5', '118', '1'))
'0x2eca'

>>> main(('7', '47', '2'))
'0x45ee'

>>> main(('4', '142', '3'))
'0x71c8'

>>> main(('1', '193', '0'))
'0x1822'

Вариант №18

Задача №8

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

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

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

0 1 8 9 10 11 20 Z1 Z2 Z3 Z4

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

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

0 1 2 11 12 13 20 Z3 Z4 Z1 Z2

Тесты:

>>> main('144501')
'0x7511a'

>>> main('1788344')
'0x1b8da4'

>>> main('1988077')
'0x1edf2a'

>>> main('754859')
'0xab5c2'

Вариант №19

Задача №8

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

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

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

0 1 2 3 9 10 11 H1 H2 H3 H4

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

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

0 1 2 3 4 5 11 H4 H1 H2 H3

Тесты:

>>> main('1884')
'0xd71'

>>> main('2095')
'0xbe'

>>> main('2200')
'0x262'

>>> main('3045')
'0xf96'

Вариант №20

Задача №8

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

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

Десятичная строка.
0 1 8 9 12 13 17 M1 M2 M3 M4 18 21 22 27 28 34 M4 M5 M6

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

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

Тесты:

>>> main('16054902463')
[('M1', '1'), ('M2', '95'), ('M3', '15'), ('M4', '402'), ('M5', '51'), ('M6', '59')]

>>> main('3248980013')
[('M1', '1'), ('M2', '22'), ('M3', '0'), ('M4', '316'), ('M5', '6'), ('M6', '12')]

>>> main('5828426355')
[('M1', '1'), ('M2', '57'), ('M3', '13'), ('M4', '309'), ('M5', '45'), ('M6', '21')]

>>> main('15310336069')
[('M1', '1'), ('M2', '34'), ('M3', '8'), ('M4', '137'), ('M5', '2'), ('M6', '57')]

Вариант №21

Задача №8

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

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

Шестнадцатиричная строка.
0 8 9 11 12 16 T1 T2 T3 17 20 21 28 29 31 32 T3 T4 T5

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

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

Тесты:

>>> main('0x5823b32f')
('303', '1', '59', '193', '2')

>>> main('0x9d2f0334')
('308', '1', '240', '233', '4')

>>> main('0x629c339a')
('410', '1', '451', '20', '3')

>>> main('0xf74d544a')
('74', '2', '213', '186', '7')

Вариант №22

Задача №8

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

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

Целое.
0 8 9 16 Z2 17 22 23 32 Z3 Z4

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

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

Тесты:

>>> main(1686864812)
{'Z2': '0xc1', 'Z3': '0x5', 'Z4': '0xc9'}

>>> main(3118518009)
{'Z2': '0x67', 'Z3': '0x30', 'Z4': '0x173'}

>>> main(2122082591)
{'Z2': '0x34', 'Z3': '0x3e', 'Z4': '0xfc'}

>>> main(2896071282)
{'Z2': '0x45', 'Z3': '0xf', 'Z4': '0x159'}

Вариант №23

Задача №8

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

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

Целое.

0 3 4 6 7 14 15 23 T1 T2 T4

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

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

0 8 9 11 12 19 20 23 T4 T2 T1

Тесты:

>>> main(11801737)
'0x900168'

>>> main(7488988)
'0xc00ae4'

>>> main(10776582)
'0x600148'

>>> main(12913782)
'0x600f8a'

Вариант №24

Задача №8

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

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

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

0 6 7 15 I1 I2 16 17 24 25 28 29 31 I2 I3 I5

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

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

0 9 10 13 14 15 I2 I5 16 17 23 24 31 I5 I1 I3

Тесты:

>>> main('385368220')
'2084044929'

>>> main('3505983190')
'2091745821'

>>> main('1974163315')
'3588670126'

>>> main('2901549914')
'2041921606'

Вариант №25

Задача №8

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

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

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

0 4 5 9 10 15 16 20 21 22 23 C2 C3 C4 C5 C6

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

Целое.

0 1 2 6 7 11 12 13 18 19 23 C6 C4 C5 C3 C2

Тесты:

>>> main('3913294')
9813376

>>> main('12315227')
9919874

>>> main('13590138')
10151811

>>> main('1571773')
15715200

Вариант №26

Задача №8

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

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

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

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

Целое.
0 9 10 15 L1 16 19 20 25 26 31 L3 L4 L5

Тесты:

>>> main(('311', '11', '28', '53'))
3586851127

>>> main(('230', '1', '33', '10'))
705757414

>>> main(('216', '14', '31', '24'))
1644036312

>>> main(('588', '15', '40', '33'))
2257519180

Вариант №27

Задача №8

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

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

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

0 5 6 13 14 16 E1 E2 E3 17 23 24 32 E4 E5

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

Целое.

0 2 3 10 11 16 E3 E2 E1 17 23 24 32 E4 E5

Тесты:

>>> main('0x9bb467fe')
2612393209

>>> main('0xacd95605')
2899847877

>>> main('0x1d65d7d8a')
7891343285

>>> main('0x98cd24c9')
2563525788

Вариант №28

Задача №8

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

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

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

0 5 6 10 11 17 18 23 C1 C2 C3

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

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

0 4 5 10 11 16 17 23 C2 C1 C3

Тесты:

>>> main('64837')
'4063413'

>>> main('35148')
'2228613'

>>> main('54627')
'3409013'

>>> main('160236')
'10225031'

Вариант №29

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 1 10 11 12 13 17 18 19 20 26 K1 K2 K4 K5 K6

Тесты:

>>> main([('K1', '0x1'), ('K2', '0x214'), ('K4', '0x16'), ('K5', '0x0'), ('K6', '0x19')])
'0x192c429'

>>> main([('K1', '0x1'), ('K2', '0x27f'), ('K4', '0x17'), ('K5', '0x0'), ('K6', '0x26')])
'0x262e4ff'

>>> main([('K1', '0x0'), ('K2', '0xc'), ('K4', '0x8'), ('K5', '0x1'), ('K6', '0x5b')])
'0x5b50018'

>>> main([('K1', '0x0'), ('K2', '0x336'), ('K4', '0x11'), ('K5', '0x0'), ('K6', '0x69')])
'0x692266c'

Вариант №30

Задача №8

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

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

Шестнадцатиричная строка.
0 9 10 19 20 23 24 T1 T2 T3 T4 25 33 34 40 41 48 T4 T5 T6

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

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

Тесты:

>>> main('0x41f2a45a605a')
('90', '664', '5', '676', '124', '32')

>>> main('0x1eaaa117e128b')
('651', '900', '7', '529', '42', '245')

>>> main('0x1c71b740efdf2')
('498', '959', '0', '884', '70', '227')

>>> main('0x56e1e50bcbbb')
('955', '754', '0', '485', '56', '43')

Вариант №31

Задача №8

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

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

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

0 8 9 11 12 21 22 23 C1 C2 C4 24 30 31 40 41 47 C4 C5 C6

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

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

0 2 3 11 12 21 22 23 C2 C1 C5 24 31 32 40 41 47 C5 C4 C6

Тесты:

>>> main('21256082484148')
'20086127594917'

>>> main('226374381766784')
'226030996423684'

>>> main('279440413235907')
'280556172477981'

>>> main('271463693533675')
'270773839204184'

Вариант №32

Задача №8

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

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

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

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

Целое.
0 8 9 14 15 20 Z1 Z2 Z3 21 23 24 28 29 35 36 41 Z3 Z4 Z5 Z6

Тесты:

>>> main((488, 17, 162, 17, 78, 10))
729361228776

>>> main((147, 30, 21, 0, 106, 46))
3218004950163

>>> main((34, 7, 248, 28, 78, 5))
385951206946

>>> main((186, 42, 424, 26, 21, 48))
3310259295418

Вариант №33

Задача №8

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

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

Целое.
0 9 10 19 20 21 O1 O2 O3 22 26 27 33 34 43 O3 O4 O5

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

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

Тесты:

>>> main(6199144134)
(710, 987, 23, 46, 0)

>>> main(231742340888)
(792, 735, 78, 62, 13)

>>> main(14195278621409)
(737, 650, 8, 35, 826)

>>> main(16467858808199)
(391, 1015, 13, 71, 958)

Вариант №34

Задача №8

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

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

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

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

Целое.
0 6 7 11 12 19 20 24 25 30 N1 N2 N3 N4 N5

Тесты:

>>> main((81, 11, 7, 18, 38))
1293972945

>>> main((38, 28, 211, 26, 52))
1772961318

>>> main((106, 12, 215, 2, 0))
2979434

>>> main((80, 21, 78, 28, 21))
734325456

Вариант №35

Задача №8

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

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

Целое.

0 3 4 9 10 11 12 15 16 19 20 25 U1 U2 U3 U4 U5 U6

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

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

0 3 4 7 8 13 14 17 18 23 24 25 U5 U4 U6 U1 U2 U3

Тесты:

>>> main(22133201)
'0x27455b1'

>>> main(34642864)
'0x2ec2190'

>>> main(46227831)
'0x5dec61'

>>> main(60969)
'0x38a40e0'

Вариант №36

Задача №8

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

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

Десятичная строка.
0 2 3 6 7 9 10 16 17 25 B1 B2 B3 B5

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

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

Тесты:

>>> main('38090744')
{'B1': '0x0', 'B2': '0xf', 'B3': '0x7', 'B5': '0x122'}

>>> main('43659953')
{'B1': '0x1', 'B2': '0x6', 'B3': '0x5', 'B5': '0x14d'}

>>> main('14501476')
{'B1': '0x4', 'B2': '0xc', 'B3': '0x4', 'B5': '0x6e'}

>>> main('10145753')
{'B1': '0x1', 'B2': '0xb', 'B3': '0x7', 'B5': '0x4d'}

Вариант №37

Задача №8

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

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

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

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

Десятичная строка.
0 3 4 12 13 14 15 16 17 18 24 F1 F2 F3 F4 F5

Тесты:

>>> main((7, 406, 2, 0, 1))
'153959'

>>> main((2, 59, 3, 2, 0))
'91058'

>>> main((9, 146, 0, 2, 1))
'198953'

>>> main((14, 43, 3, 1, 1))
'189118'

Вариант №38

Задача №8

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

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

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

0 3 4 5 10 11 18 H1 H2 H3 H4

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

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

0 5 6 9 10 11 18 H3 H1 H2 H4

Тесты:

>>> main('509101')
'508773'

>>> main('277706')
'277158'

>>> main('37212')
'38666'

>>> main('381337')
'382540'

Вариант №39

Задача №8

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

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

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

0 8 9 10 11 12 13 16 V1 V2 V3 V4 17 22 23 32 33 V4 V5

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

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

0 1 2 3 4 13 14 15 16 V2 V3 V5 V1 17 23 24 33 V1 V4

Тесты:

>>> main('0xf6683b29')
'13985160909'

>>> main('0x11061242e')
'13037412866'

>>> main('0x5c713715')
'15192460171'

>>> main('0x146bde041')
'8306862288'

Вариант №40

Задача №8

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

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

Десятичная строка.
0 1 4 5 6 7 12 13 20 M1 M2 M3 M4 M5

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

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

Тесты:

>>> main('1553138')
('0', '9', '3', '37', '189')

>>> main('1178589')
('1', '14', '2', '55', '143')

>>> main('1105883')
('1', '13', '2', '63', '134')

>>> main('717774')
('0', '7', '2', '39', '87')