ИНБО-12-22

Вариант №1

Задача №8

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

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

Десятичная строка.
0 4 5 10 11 19 20 26 W1 W2 W4

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

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

Тесты:

>>> main('9140833')
[('W1', 1), ('W2', 19), ('W4', 8)]

>>> main('78596118')
[('W1', 22), ('W2', 0), ('W4', 74)]

>>> main('14668732')
[('W1', 28), ('W2', 29), ('W4', 13)]

>>> main('97255814')
[('W1', 6), ('W2', 12), ('W4', 92)]

Вариант №2

Задача №8

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

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

Десятичная строка.
0 4 5 8 9 16 17 21 X1 X2 X3

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

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

Тесты:

>>> main('36309')
(21, 14, 70)

>>> main('40677')
(5, 7, 79)

>>> main('41826')
(2, 11, 81)

>>> main('29652')
(20, 14, 57)

Вариант №3

Задача №8

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

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

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

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

Десятичная строка.
0 5 6 15 16 23 H1 H2 H3 24 25 34 35 42 43 47 H3 H4 H5 H6

Тесты:

>>> main(('0x3a', '0x73', '0x18c', '0x36f', '0xe6', '0xb'))
'104689283374330'

>>> main(('0x25', '0x3e3', '0x1ca', '0x372', '0xd6', '0x0'))
'7382609098981'

>>> main(('0x6', '0x76', '0x103', '0x142', '0x64', '0x1c'))
'249737399967110'

>>> main(('0xf', '0x85', '0xd4', '0x3a', '0xcc', '0x16'))
'200525393174863'

Вариант №4

Задача №8

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

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

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

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

Целое.
0 7 8 12 13 14 15 18 19 22 23 24 I1 I2 I3 I4 I5

Тесты:

>>> main(('42', '4', '3', '1', '5'))
2679850

>>> main(('106', '26', '0', '5', '9'))
4889194

>>> main(('188', '26', '2', '2', '15'))
7953084

>>> main(('132', '6', '1', '7', '6'))
3384964

Вариант №5

Задача №8

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

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

Десятичная строка.
0 3 4 8 9 10 19 20 24 25 30 D1 D2 D3 D4 D5 D6

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

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

Тесты:

>>> main('850060969')
(9, 10, 1, 697, 10, 25)

>>> main('1683984193')
(1, 20, 1, 995, 5, 50)

>>> main('1691489186')
(2, 26, 1, 132, 13, 50)

>>> main('293898995')
(3, 15, 1, 290, 24, 8)

Вариант №6

Задача №8

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

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

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

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

Десятичная строка.
0 6 7 11 12 17 18 19 20 23 M1 M2 M3 M5

Тесты:

>>> main(('0x59', '0xd', '0x15', '0x8'))
'8476377'

>>> main(('0x1', '0xf', '0x2f', '0x0'))
'194433'

>>> main(('0x3a', '0x3', '0x8', '0x9'))
'9470394'

>>> main(('0x3c', '0x18', '0x31', '0x5'))
'5446716'

Вариант №7

Задача №8

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

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

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

0 1 8 9 10 17 18 20 L1 L2 L3 L4

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

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

0 2 3 4 11 12 19 20 L3 L2 L4 L1

Тесты:

>>> main('0x1d89a')
'484560'

>>> main('0x18dca')
'409168'

>>> main('0x25478')
'611264'

>>> main('0xb9e5')
'1240864'

Вариант №8

Задача №8

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

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

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

0 2 3 5 6 11 12 18 19 28 29 U1 U2 U3 U4 U5 U6

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

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

0 9 10 12 13 19 20 25 26 28 29 U5 U1 U4 U3 U2 U6

Тесты:

>>> main('0x90b4d82')
'0x3668921'

>>> main('0x779f939')
'0x1e43e4ef'

>>> main('0x248771e7')
'0x307efc90'

>>> main('0x1c412a71')
'0x1a924788'

Вариант №9

Задача №8

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

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

Десятичная строка.
0 1 4 5 10 11 15 B1 B2 B4

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

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

Тесты:

>>> main('52922')
('0', '13', '25')

>>> main('29378')
('0', '1', '14')

>>> main('608')
('0', '0', '0')

>>> main('64816')
('0', '8', '31')

Вариант №10

Задача №8

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

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

Целое.

0 1 2 3 4 8 9 11 Q1 Q3 Q4

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

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

0 4 5 7 8 9 10 11 Q3 Q4 Q1

Тесты:

>>> main(1255)
'0xc4e'

>>> main(3995)
'0xcf9'

>>> main(1128)
'0x46'

>>> main(1815)
'0xc71'

Вариант №11

Задача №8

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

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

Десятичная строка.
0 1 2 3 7 8 K1 K2 K3 K4

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

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

Тесты:

>>> main('11')
('0x3', '0x0', '0x1', '0x0')

>>> main('96')
('0x0', '0x0', '0xc', '0x0')

>>> main('209')
('0x1', '0x0', '0x1a', '0x0')

>>> main('203')
('0x3', '0x0', '0x19', '0x0')

Вариант №12

Задача №8

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

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

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

0 2 3 9 10 19 20 28 W1 W2 W3 W4

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

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

0 6 7 9 10 19 20 28 W2 W1 W3 W4

Тесты:

>>> main('231150738')
'0xdc71512'

>>> main('168614125')
'0xa0cda9d'

>>> main('227916246')
'0xd95bb3a'

>>> main('108838887')
'0x67cbffc'

Вариант №13

Задача №8

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

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

Десятичная строка.
0 3 4 5 14 15 22 23 26 D1 D2 D3 D5

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

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

Тесты:

>>> main('26530898')
{'D1': '0x2', 'D2': '0x1', 'D3': '0x2a2', 'D5': '0x3'}

>>> main('73147803')
{'D1': '0xb', 'D2': '0x1', 'D3': '0x12c', 'D5': '0x8'}

>>> main('73971734')
{'D1': '0x6', 'D2': '0x1', 'D3': '0x1c0', 'D5': '0x8'}

>>> main('111635345')
{'D1': '0x1', 'D2': '0x1', 'D3': '0x35c', 'D5': '0xd'}

Вариант №14

Задача №8

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

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

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

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

Целое.
0 5 6 11 12 18 19 21 22 29 Z1 Z2 Z3 Z4

Тесты:

>>> main((4, 4, 14, 5))
2679044

>>> main((32, 60, 5, 2))
1072928

>>> main((54, 45, 34, 6))
3287926

>>> main((20, 49, 67, 0))
277588

Вариант №15

Задача №8

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

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

Целое.
0 8 9 17 18 19 J1 J2 J3 20 21 22 29 30 34 35 38 J3 J4 J5 J6

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

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

Тесты:

>>> main(105044473466)
{'J1': '122', 'J2': '443', 'J3': '8', 'J4': '212', 'J5': '1', 'J6': '3'}

>>> main(185725617824)
{'J1': '160', 'J2': '3', 'J3': '7', 'J4': '248', 'J5': '12', 'J6': '5'}

>>> main(234918647723)
{'J1': '427', 'J2': '267', 'J3': '15', 'J4': '200', 'J5': '26', 'J6': '6'}

>>> main(40514865493)
{'J1': '341', 'J2': '484', 'J3': '7', 'J4': '187', 'J5': '5', 'J6': '1'}

Вариант №16

Задача №8

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

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

Шестнадцатиричная строка.
0 2 3 5 6 11 12 13 W1 W2 W3

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

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

Тесты:

>>> main('0xc9e')
[('W1', '6'), ('W2', '3'), ('W3', '50')]

>>> main('0xa5b')
[('W1', '3'), ('W2', '3'), ('W3', '41')]

>>> main('0x69e')
[('W1', '6'), ('W2', '3'), ('W3', '26')]

>>> main('0x138')
[('W1', '0'), ('W2', '7'), ('W3', '4')]

Вариант №17

Задача №8

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

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

Десятичная строка.
0 3 4 5 6 11 12 20 21 22 23 27 F1 F2 F3 F4 F6

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

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

Тесты:

>>> main('80178250')
{'F1': '0xa', 'F2': '0x0', 'F3': '0x31', 'F4': '0x76', 'F6': '0x9'}

>>> main('12532923')
{'F1': '0xb', 'F2': '0x3', 'F3': '0x32', 'F4': '0x1f3', 'F6': '0x1'}

>>> main('83181280')
{'F1': '0x0', 'F2': '0x2', 'F3': '0x3b', 'F4': '0x153', 'F6': '0x9'}

>>> main('27077316')
{'F1': '0x4', 'F2': '0x0', 'F3': '0x2b', 'F4': '0x1d2', 'F6': '0x3'}

Вариант №18

Задача №8

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

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

Шестнадцатиричная строка.
0 2 3 5 6 15 16 20 21 25 T2 T3 T4 T5

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

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

Тесты:

>>> main('0x5e211a')
{'T2': '0x3', 'T3': '0x84', 'T4': '0x1e', 'T5': '0x2'}

>>> main('0x3a9d58b')
{'T2': '0x1', 'T3': '0x356', 'T4': '0x9', 'T5': '0x1d'}

>>> main('0x3343b64')
{'T2': '0x4', 'T3': '0xed', 'T4': '0x14', 'T5': '0x19'}

>>> main('0x9d69c0')
{'T2': '0x0', 'T3': '0x1a7', 'T4': '0x1d', 'T5': '0x4'}

Вариант №19

Задача №8

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

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

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

0 8 9 13 14 22 23 30 U1 U2 U3 U4

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

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

0 8 9 17 18 25 26 30 U1 U3 U4 U2

Тесты:

>>> main('896930465')
'0x25abb0a1'

>>> main('812974706')
'0x583a872'

>>> main('1469190759')
'0x26bc9067'

>>> main('2084436910')
'0x77e1efae'

Вариант №20

Задача №8

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

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

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

0 4 5 12 13 16 17 E1 E2 E3 E4 18 26 27 34 E5 E6

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

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

0 1 9 10 14 15 17 E4 E5 E1 E6 18 22 23 30 31 34 E6 E2 E3

Тесты:

>>> main('7217084934')
'33958828821'

>>> main('13095619596')
'22283334215'

>>> main('21447802686')
'25716325169'

>>> main('3087655444')
'32347246596'

Вариант №21

Задача №8

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

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

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

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

Целое.
0 4 5 6 7 9 10 19 P1 P2 P3 P4

Тесты:

>>> main(('0x4', '0x3', '0x0', '0x143'))
330852

>>> main(('0xc', '0x2', '0x2', '0x2bb'))
716108

>>> main(('0x7', '0x3', '0x3', '0x75'))
120295

>>> main(('0x3', '0x1', '0x3', '0x366'))
891299

Вариант №22

Задача №8

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

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

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

0 5 6 14 15 19 H1 H2 H3 20 23 24 25 26 34 35 39 H3 H4 H5 H6

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

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

0 8 9 14 15 19 H2 H1 H3 20 23 24 32 33 37 38 39 H3 H5 H6 H4

Тесты:

>>> main('0x1d570f55df')
'856125554519'

>>> main('0xa0f2e26dd1')
'722575958967'

>>> main('0x1c07d3577b')
'854729127773'

>>> main('0x24a97ada22')
'314245301608'

Вариант №23

Задача №8

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

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

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

0 9 10 16 A1 A2 17 18 19 25 26 30 31 33 A2 A3 A4 A5

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

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

0 8 9 15 16 A2 A3 A4 17 20 21 23 24 33 A4 A5 A1

Тесты:

>>> main('3828655785')
'0x2a9390d29'

>>> main('14905519304')
'0xc8de1c0b'

>>> main('211566111')
'0x21f03270f'

>>> main('14470047163')
'0x1bbd79ed9'

Вариант №24

Задача №8

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

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

Шестнадцатиричная строка.
0 9 10 16 17 L1 L2 L3 18 24 25 31 32 35 L3 L4 L5

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

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

Тесты:

>>> main('0x938476c8f')
[('L1', '0x8f'), ('L2', '0x5b'), ('L3', '0x23'), ('L4', '0x1c'), ('L5', '0x9')]

>>> main('0xe9d8c72e0')
[('L1', '0x2e0'), ('L2', '0x1c'), ('L3', '0xc6'), ('L4', '0x4e'), ('L5', '0xe')]

>>> main('0x4e4949cfd')
[('L1', '0xfd'), ('L2', '0x27'), ('L3', '0x4a'), ('L4', '0x72'), ('L5', '0x4')]

>>> main('0xccc9b0f60')
[('L1', '0x360'), ('L2', '0x43'), ('L3', '0x4d'), ('L4', '0x66'), ('L5', '0xc')]

Вариант №25

Задача №8

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

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

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

0 8 9 10 11 12 19 20 21 24 O1 O2 O3 O4 O5 O6

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

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

0 8 9 16 17 18 19 20 23 24 O1 O4 O5 O2 O6 O3

Тесты:

>>> main('17448938')
'26036202'

>>> main('7611908')
'4097028'

>>> main('28926920')
'14101960'

>>> main('10390480')
'21483984'

Вариант №26

Задача №8

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

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

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

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

Десятичная строка.
0 4 5 7 8 10 11 13 14 17 X1 X2 X3 X5

Тесты:

>>> main({'X1': '26', 'X2': '4', 'X3': '5', 'X5': '14'})
'230810'

>>> main({'X1': '19', 'X2': '6', 'X3': '7', 'X5': '13'})
'214995'

>>> main({'X1': '28', 'X2': '4', 'X3': '2', 'X5': '4'})
'66204'

>>> main({'X1': '21', 'X2': '4', 'X3': '0', 'X5': '8'})
'131221'

Вариант №27

Задача №8

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

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

Шестнадцатиричная строка.
0 1 6 7 8 9 11 12 14 N1 N2 N3 N4 N5

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

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

Тесты:

>>> main('0x2183')
[('N1', 1), ('N2', 1), ('N3', 3), ('N4', 0), ('N5', 2)]

>>> main('0x34f2')
[('N1', 0), ('N2', 57), ('N3', 1), ('N4', 2), ('N5', 3)]

>>> main('0x1757')
[('N1', 1), ('N2', 43), ('N3', 2), ('N4', 3), ('N5', 1)]

>>> main('0x704')
[('N1', 0), ('N2', 2), ('N3', 2), ('N4', 3), ('N5', 0)]

Вариант №28

Задача №8

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

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

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

0 6 7 9 10 17 18 20 21 25 H1 H3 H4 H5

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

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

0 6 7 9 10 12 13 20 21 25 H1 H4 H3 H5

Тесты:

>>> main('45655376')
'0x2a52350'

>>> main('63533363')
'0x3cb8133'

>>> main('50750841')
'0x31320f9'

>>> main('23278465')
'0x1798001'

Вариант №29

Задача №8

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

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

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

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

Целое.
0 1 2 11 12 13 20 A1 A2 A4

Тесты:

>>> main((1, 694, 138))
1133273

>>> main((2, 721, 55))
453446

>>> main((3, 558, 148))
1214651

>>> main((2, 562, 218))
1788106

Вариант №30

Задача №8

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

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

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

0 2 3 11 12 21 22 23 A2 A3 A4

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

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

0 1 2 10 11 13 14 23 A4 A2 A3

Тесты:

>>> main('12264795')
'0xec82ae'

>>> main('15160421')
'0x9d4233'

>>> main('4216925')
'0x1442d'

>>> main('2430263')
'0x944298'

Вариант №31

Задача №8

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

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

Целое.
0 5 6 14 15 Z1 Z2 Z3 16 22 23 24 25 27 28 31 Z3 Z4 Z5 Z6

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

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

Тесты:

>>> main(2216108375)
[('Z1', 23), ('Z2', 133), ('Z3', 46), ('Z4', 0), ('Z5', 2), ('Z6', 8)]

>>> main(3549848203)
[('Z1', 11), ('Z2', 394), ('Z3', 44), ('Z4', 3), ('Z5', 1), ('Z6', 13)]

>>> main(1362010856)
[('Z1', 40), ('Z2', 139), ('Z3', 93), ('Z4', 2), ('Z5', 0), ('Z6', 5)]

>>> main(613203167)
[('Z1', 31), ('Z2', 243), ('Z3', 25), ('Z4', 1), ('Z5', 2), ('Z6', 2)]

Вариант №32

Задача №8

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

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

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

0 2 3 11 12 18 19 20 21 22 30 B1 B2 B3 B4 B5

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

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

0 6 7 15 16 17 25 26 27 28 30 B3 B5 B2 B4 B1

Тесты:

>>> main('3303992')
'0xa8f0026'

>>> main('1129543')
'0x7b100013'

>>> main('3029021')
'0x56070063'

>>> main('1410410')
'0x295a0058'

Вариант №33

Задача №8

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

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

Десятичная строка.
0 5 6 7 10 11 13 14 17 18 26 S1 S2 S3 S4 S5 S6

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

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

Тесты:

>>> main('11000513')
{'S1': '1', 'S2': '1', 'S3': '5', 'S4': '3', 'S5': '15', 'S6': '41'}

>>> main('69928616')
{'S1': '40', 'S2': '0', 'S3': '13', 'S4': '0', 'S5': '12', 'S6': '266'}

>>> main('109441833')
{'S1': '41', 'S2': '0', 'S3': '6', 'S4': '6', 'S5': '7', 'S6': '417'}

>>> main('57942313')
{'S1': '41', 'S2': '0', 'S3': '2', 'S4': '4', 'S5': '0', 'S6': '221'}

Вариант №34

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 7 8 11 12 13 17 M1 M2 M4

Тесты:

>>> main({'M1': 108, 'M2': 8, 'M4': 0})
'0x86c'

>>> main({'M1': 225, 'M2': 7, 'M4': 24})
'0x307e1'

>>> main({'M1': 88, 'M2': 3, 'M4': 1})
'0x2358'

>>> main({'M1': 16, 'M2': 4, 'M4': 31})
'0x3e410'

Вариант №35

Задача №8

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

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

Целое.

0 4 5 12 13 17 G1 G2 G3 18 19 26 27 28 29 34 G3 G4 G5 G6

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

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

0 1 2 7 8 15 16 17 G5 G3 G2 G6 18 21 22 26 27 34 G6 G1 G4

Тесты:

>>> main(9213941283)
'0x530d1b130'

>>> main(9733827691)
'0x42ad263cc'

>>> main(24756196514)
'0x390aea5b0'

>>> main(1182397135)
'0x67bc2963c'

Вариант №36

Задача №8

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

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

Целое.
0 5 6 8 9 12 13 21 Y2 Y3 Y4

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

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

Тесты:

>>> main(3459780)
('0x3', '0x5', '0x1a6')

>>> main(2816882)
('0x5', '0xd', '0x157')

>>> main(3148420)
('0x2', '0x5', '0x180')

>>> main(2174260)
('0x4', '0x6', '0x109')

Вариант №37

Задача №8

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

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

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

0 3 4 12 13 14 15 17 U1 U2 U3 U4 18 20 21 29 30 35 U4 U5

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

Целое.

0 3 4 12 13 17 U1 U5 18 19 24 25 33 34 35 U4 U2 U3

Тесты:

>>> main('566926296')
14942736616

>>> main('258320979')
22722119603

>>> main('518123460')
59996901236

>>> main('824439048')
60670089368

Вариант №38

Задача №8

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

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

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

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

Десятичная строка.
0 3 4 9 10 11 20 O1 O2 O3

Тесты:

>>> main({'O1': '3', 'O2': '35', 'O3': '1'})
'1587'

>>> main({'O1': '8', 'O2': '41', 'O3': '1'})
'1688'

>>> main({'O1': '3', 'O2': '42', 'O3': '1'})
'1699'

>>> main({'O1': '13', 'O2': '27', 'O3': '1'})
'1469'

Вариант №39

Задача №8

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

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

Целое.

0 9 10 12 13 21 22 25 26 M1 M2 M4 M5

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

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

0 9 10 13 14 16 17 18 26 M1 M4 M2 M5

Тесты:

>>> main(31689465)
'40697'

>>> main(60320482)
'47842'

>>> main(5828422)
'51014'

>>> main(1564437)
'115477'

Вариант №40

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 1 8 9 11 12 13 H2 H3 H4

Тесты:

>>> main((168, 0, 3))
'0x3150'

>>> main((79, 6, 2))
'0x2c9e'

>>> main((122, 5, 1))
'0x1af4'

>>> main((177, 3, 1))
'0x1762'