ИНБО-01-22

Вариант №1

Задача №8

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

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

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

0 1 6 7 12 13 20 21 22 23 29 L1 L2 L3 L5 L6

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

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

0 5 6 11 12 13 14 21 22 28 29 L3 L2 L5 L6 L1

Тесты:

>>> main('177677798')
'0x5400ccb'

>>> main('205413305')
'0x26001737'

>>> main('134835885')
'0x2400059d'

>>> main('277047534')
'0x8400dd1'

Вариант №2

Задача №8

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

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

Целое.
0 4 5 6 10 11 15 16 18 B1 B2 B3 B4 B5

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

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

Тесты:

>>> main(371599)
{'B1': '15', 'B2': '0', 'B3': '14', 'B4': '21', 'B5': '5'}

>>> main(276693)
{'B1': '21', 'B2': '0', 'B3': '3', 'B4': '7', 'B5': '4'}

>>> main(442921)
{'B1': '9', 'B2': '1', 'B3': '8', 'B4': '24', 'B5': '6'}

>>> main(377740)
{'B1': '12', 'B2': '0', 'B3': '14', 'B4': '24', 'B5': '5'}

Вариант №3

Задача №8

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

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

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

0 1 2 3 4 7 8 14 K2 K3 K4

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

Целое.

0 1 2 5 6 7 8 14 K2 K3 K4

Тесты:

>>> main('0x402c')
16395

>>> main('0x1041')
4112

>>> main('0x1739')
5902

>>> main('0x6a66')
27161

Вариант №4

Задача №8

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

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

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

0 2 3 12 13 16 Y1 Y2 Y3 17 20 21 22 23 24 32 Y3 Y4 Y6

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

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

0 1 3 4 5 6 13 14 16 Y1 Y4 Y3 Y2 17 23 24 32 Y2 Y6

Тесты:

>>> main('7680076909')
'0x1c963496a'

>>> main('5271851668')
'0x13a94b418'

>>> main('3997652098')
'0xeea40ea4'

>>> main('8143156563')
'0x1e5aabd66'

Вариант №5

Задача №8

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

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

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

0 1 9 10 12 13 17 O1 O2 O3 O4

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

Целое.

0 4 5 6 8 9 17 O4 O1 O3 O2

Тесты:

>>> main('5007')
233248

>>> main('193344')
213271

>>> main('161628')
220499

>>> main('205348')
140313

Вариант №6

Задача №8

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

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

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

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

Целое.
0 8 9 14 15 16 17 24 Y1 Y2 Y3 Y4

Тесты:

>>> main((216, 40, 0, 245))
32133336

>>> main((65, 60, 2, 97))
12810305

>>> main((267, 9, 2, 116))
15274763

>>> main((456, 8, 3, 100))
13210056

Вариант №7

Задача №8

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

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

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

0 1 9 10 11 J1 J2 J3 J4

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

Целое.

0 8 9 10 11 J2 J1 J3 J4

Тесты:

>>> main('0x982')
2241

>>> main('0x5cf')
1767

>>> main('0x326')
403

>>> main('0x57c')
1214

Вариант №8

Задача №8

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

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

Десятичная строка.
0 1 5 6 8 9 12 Q2 Q3 Q4

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

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

Тесты:

>>> main('6446')
('23', '4', '12')

>>> main('1288')
('4', '4', '2')

>>> main('7579')
('13', '6', '14')

>>> main('1743')
('7', '3', '3')

Вариант №9

Задача №8

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

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

Шестнадцатиричная строка.
0 8 9 15 16 17 U1 U2 18 21 22 25 26 35 U4 U5

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

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

Тесты:

>>> main('0x9b371a733')
('307', '83', '13', '620')

>>> main('0x392293d3d')
('317', '30', '8', '228')

>>> main('0xb04f7ba5d')
('93', '93', '3', '705')

>>> main('0x18a2ad14e')
('334', '104', '8', '98')

Вариант №10

Задача №8

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

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

Целое.
0 2 3 10 11 14 15 24 O1 O3 O4

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

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

Тесты:

>>> main(33439202)
('2', '7', '1020')

>>> main(25499864)
('0', '3', '778')

>>> main(13399234)
('2', '14', '408')

>>> main(11374826)
('2', '2', '347')

Вариант №11

Задача №8

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

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

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

0 5 6 14 15 16 20 P1 P2 P3 P4 21 25 26 35 36 40 P4 P5 P6

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

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

0 4 5 13 14 20 P6 P2 P4 21 23 24 33 34 35 40 P4 P5 P3 P1

Тесты:

>>> main('375557436668')
'0x1e5dc3dda65'

>>> main('658124879946')
'0x564ed31c29'

>>> main('647666175672')
'0x1c5b2fa4749'

>>> main('764118859343')
'0x787a423f2b'

Вариант №12

Задача №8

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

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

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

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

Целое.
0 7 8 10 11 12 13 20 21 26 N1 N2 N3 N4 N5

Тесты:

>>> main(('54', '2', '1', '43', '49'))
103115318

>>> main(('7', '6', '2', '85', '35'))
74102279

>>> main(('160', '4', '0', '233', '47'))
100476064

>>> main(('107', '5', '1', '155', '41'))
87256427

Вариант №13

Задача №8

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

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

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

0 1 5 6 10 11 19 20 22 23 26 L1 L2 L3 L5 L6

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

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

0 4 5 13 14 18 19 21 22 23 26 L2 L3 L5 L1 L6

Тесты:

>>> main('0x6d14cd2')
'0x6acc009'

>>> main('0x12b01ef')
'0x151c017'

>>> main('0x3c09826')
'0x3a00013'

>>> main('0x67b3806')
'0x6380003'

Вариант №14

Задача №8

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

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

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

0 6 7 13 14 18 19 26 H1 H2 H3 H4

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

Целое.

0 6 7 13 14 21 22 26 H2 H1 H4 H3

Тесты:

>>> main('68767231')
23134107

>>> main('129338020')
96309781

>>> main('13785237')
38177457

>>> main('23860344')
67861544

Вариант №15

Задача №8

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

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

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

0 5 6 9 10 15 16 22 23 30 U1 U2 U3 U4 U5

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

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

0 5 6 11 12 18 19 22 23 30 U1 U3 U4 U2 U5

Тесты:

>>> main('131540737')
'132477505'

>>> main('1588781441')
'1588801025'

>>> main('693653764')
'690324740'

>>> main('1867763317')
'1867332853'

Вариант №16

Задача №8

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

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

Шестнадцатиричная строка.
0 3 4 7 8 9 13 14 15 18 P1 P2 P3 P4 P5 P6

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

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

Тесты:

>>> main('0x69c86')
{'P1': '0x6', 'P2': '0x8', 'P3': '0x0', 'P4': '0xe', 'P5': '0x0', 'P6': '0xd'}

>>> main('0x25c8f')
{'P1': '0xf', 'P2': '0x8', 'P3': '0x0', 'P4': '0xe', 'P5': '0x1', 'P6': '0x4'}

>>> main('0x10bfd')
{'P1': '0xd', 'P2': '0xf', 'P3': '0x1', 'P4': '0x5', 'P5': '0x0', 'P6': '0x2'}

>>> main('0x41885')
{'P1': '0x5', 'P2': '0x8', 'P3': '0x0', 'P4': '0xc', 'P5': '0x0', 'P6': '0x8'}

Вариант №17

Задача №8

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

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

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

0 4 5 13 14 20 21 22 23 27 C1 C2 C3 C4 C5

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

Целое.

0 8 9 13 14 15 16 22 23 27 C2 C1 C4 C3 C5

Тесты:

>>> main('207628850')
201385297

>>> main('86778640')
87056664

>>> main('170605797')
170675175

>>> main('262050791')
268045983

Вариант №18

Задача №8

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

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

Целое.
0 1 8 9 14 15 23 24 V1 V2 V3 V5

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

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

Тесты:

>>> main(12058462)
(0, 175, 63, 0)

>>> main(28979665)
(1, 232, 24, 1)

>>> main(11044672)
(0, 160, 3, 0)

>>> main(11263408)
(0, 216, 46, 0)

Вариант №19

Задача №8

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

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

Десятичная строка.
0 5 6 15 16 N1 N2 N3 17 22 23 30 31 32 N4 N5 N6

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

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

Тесты:

>>> main('937656135')
(7, 509, 1, 49, 111, 0)

>>> main('5101731354')
(26, 248, 0, 11, 96, 2)

>>> main('5707856872')
(40, 1007, 0, 27, 168, 2)

>>> main('4602594644')
(20, 21, 0, 43, 36, 2)

Вариант №20

Задача №8

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

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

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

0 9 10 19 20 21 30 H1 H2 H3

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

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

0 1 10 11 20 21 30 H3 H2 H1

Тесты:

>>> main('717167')
'753016'

>>> main('132362')
'545026'

>>> main('1368105')
'84593'

>>> main('465813')
'1878924'

Вариант №21

Задача №8

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

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

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

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

Десятичная строка.
0 5 6 12 13 15 16 17 T1 T2 T3 T4

Тесты:

>>> main([('T1', '0x33'), ('T2', '0x42'), ('T3', '0x0'), ('T4', '0x3')])
'200883'

>>> main([('T1', '0x2f'), ('T2', '0x24'), ('T3', '0x2'), ('T4', '0x0')])
'18735'

>>> main([('T1', '0x21'), ('T2', '0x41'), ('T3', '0x7'), ('T4', '0x0')])
'61537'

>>> main([('T1', '0x2c'), ('T2', '0x16'), ('T3', '0x3'), ('T4', '0x2')])
'157100'

Вариант №22

Задача №8

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

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

Десятичная строка.
0 1 2 5 6 15 16 17 A1 A2 A3 A4 18 19 26 27 34 A4 A5 A6

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

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

Тесты:

>>> main('19675534037')
[('A1', '1'), ('A2', '5'), ('A3', '843'), ('A4', '0'), ('A5', '152'), ('A6', '146')]

>>> main('34077702504')
[('A1', '0'), ('A2', '10'), ('A3', '485'), ('A4', '0'), ('A5', '230'), ('A6', '253')]

>>> main('29209865975')
[('A1', '3'), ('A2', '13'), ('A3', '187'), ('A4', '3'), ('A5', '161'), ('A6', '217')]

>>> main('8895923055')
[('A1', '3'), ('A2', '11'), ('A3', '13'), ('A4', '5'), ('A5', '71'), ('A6', '66')]

Вариант №23

Задача №8

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

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

Целое.

0 2 3 11 12 20 21 27 M1 M2 M3 M4

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

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

0 8 9 17 18 20 21 27 M3 M2 M1 M4

Тесты:

>>> main(252676354)
'0xf0a40f8'

>>> main(240599996)
'0xe50ef74'

>>> main(217441235)
'0xcecf55e'

>>> main(75348951)
'0x47ef5db'

Вариант №24

Задача №8

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

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

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

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

Целое.
0 9 10 11 12 13 14 22 23 29 P1 P2 P3 P5

Тесты:

>>> main([('P1', '826'), ('P2', '3'), ('P3', '3'), ('P5', '37')])
310394682

>>> main([('P1', '459'), ('P2', '0'), ('P3', '2'), ('P5', '7')])
58728907

>>> main([('P1', '285'), ('P2', '0'), ('P3', '3'), ('P5', '121')])
1015034141

>>> main([('P1', '598'), ('P2', '3'), ('P3', '2'), ('P5', '7')])
58732118

Вариант №25

Задача №8

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

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

Шестнадцатиричная строка.
0 6 7 14 15 16 L1 L2 17 24 25 33 L4

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

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

Тесты:

>>> main('0x2430eb82f')
[('L1', '47'), ('L2', '112'), ('L4', '289')]

>>> main('0x9b3cbe2d')
[('L1', '45'), ('L2', '124'), ('L4', '77')]

>>> main('0x318419a40')
[('L1', '64'), ('L2', '52'), ('L4', '396')]

>>> main('0xb7b703b')
[('L1', '59'), ('L2', '224'), ('L4', '5')]

Вариант №26

Задача №8

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

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

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

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

Целое.
0 8 9 15 J1 J2 16 18 19 27 28 31 J2 J3 J4

Тесты:

>>> main([('J1', '167'), ('J2', '705'), ('J3', '195'), ('J4', '0')])
102597287

>>> main([('J1', '349'), ('J2', '702'), ('J3', '7'), ('J4', '9')])
2419948893

>>> main([('J1', '55'), ('J2', '295'), ('J3', '283'), ('J4', '8')])
2296008247

>>> main([('J1', '197'), ('J2', '611'), ('J3', '358'), ('J4', '13')])
3677669061

Вариант №27

Задача №8

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

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

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

0 2 3 8 9 16 17 18 19 25 26 28 K1 K2 K3 K4 K5 K6

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

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

0 7 8 9 10 12 13 19 20 22 23 28 K3 K4 K6 K5 K1 K2

Тесты:

>>> main('0x9cf0514')
'289876866'

>>> main('0x173686ac')
'181196611'

>>> main('0x598a85')
'139550917'

>>> main('0xd388f9d')
'433384519'

Вариант №28

Задача №8

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

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

Целое.

0 9 10 15 16 23 24 29 30 M1 M2 M3 M4 M5

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

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

0 1 8 9 14 15 20 21 30 M5 M3 M2 M4 M1

Тесты:

>>> main(1416195186)
'0xe4a36d3'

>>> main(589863346)
'0x3651cc50'

>>> main(1439725778)
'0x1a4abda1'

>>> main(389623236)
'0x388b9672'

Вариант №29

Задача №8

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

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

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

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

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

Тесты:

>>> main({'K1': '0x1', 'K2': '0x3', 'K3': '0xa', 'K4': '0x2'})
'2135'

>>> main({'K1': '0x0', 'K2': '0x3', 'K3': '0xd', 'K4': '0x3'})
'3182'

>>> main({'K1': '0x0', 'K2': '0x3', 'K3': '0x6', 'K4': '0x4'})
'4150'

>>> main({'K1': '0x1', 'K2': '0x3', 'K3': '0x4c', 'K4': '0x6'})
'6759'

Вариант №30

Задача №8

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

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

Шестнадцатиричная строка.
0 7 8 13 14 18 19 23 24 B1 B2 B4 B5

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

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

Тесты:

>>> main('0x10d5da8')
{'B1': '0xa8', 'B2': '0x1d', 'B4': '0x1', 'B5': '0x1'}

>>> main('0x1c24d9e')
{'B1': '0x9e', 'B2': '0xd', 'B4': '0x18', 'B5': '0x1'}

>>> main('0x1022040')
{'B1': '0x40', 'B2': '0x20', 'B4': '0x0', 'B5': '0x1'}

>>> main('0x1f07597')
{'B1': '0x97', 'B2': '0x35', 'B4': '0x1e', 'B5': '0x1'}

Вариант №31

Задача №8

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

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

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

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

Целое.
0 1 2 8 9 18 19 23 24 25 30 Z2 Z3 Z4 Z5 Z6

Тесты:

>>> main({'Z2': '0x50', 'Z3': '0xf2', 'Z4': '0x14', 'Z5': '0x0', 'Z6': '0x16'})
748807488

>>> main({'Z2': '0x1b', 'Z3': '0x224', 'Z4': '0x1f', 'Z5': '0x0', 'Z6': '0x1b'})
922503276

>>> main({'Z2': '0x55', 'Z3': '0x32f', 'Z4': '0xa', 'Z5': '0x1', 'Z6': '0xc'})
425090900

>>> main({'Z2': '0xb', 'Z3': '0x84', 'Z4': '0xf', 'Z5': '0x1', 'Z6': '0x12'})
628688940

Вариант №32

Задача №8

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

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

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

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

Десятичная строка.
0 9 10 14 15 19 20 21 23 L1 L2 L3 L4 L5

Тесты:

>>> main(('186', '20', '1', '1', '0'))
'1102010'

>>> main(('764', '18', '14', '0', '0'))
'477948'

>>> main(('447', '20', '15', '0', '3'))
'6803903'

>>> main(('1003', '26', '18', '1', '4'))
'10054635'

Вариант №33

Задача №8

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

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

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

0 5 6 7 8 14 15 19 W2 W3 W4

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

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

0 6 7 12 13 14 15 19 W3 W2 W4

Тесты:

>>> main('310267')
'0x4e03b'

>>> main('244038')
'0x3a039'

>>> main('1027384')
'0xf802d'

>>> main('875452')
'0xd405b'

Вариант №34

Задача №8

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

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

Шестнадцатиричная строка.
0 9 10 12 13 17 A1 A3 18 19 20 25 26 27 35 A3 A4 A5 A6

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

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

Тесты:

>>> main('0xe3e135d71')
{'A1': '0x171', 'A3': '0x1a', 'A4': '0x21', 'A5': '0x1', 'A6': '0x1c7'}

>>> main('0x2bb16a554')
{'A1': '0x154', 'A3': '0x35', 'A4': '0x31', 'A5': '0x0', 'A6': '0x57'}

>>> main('0x9e096cdb2')
{'A1': '0x1b2', 'A3': '0x36', 'A4': '0x9', 'A5': '0x0', 'A6': '0x13c'}

>>> main('0x626e09692')
{'A1': '0x292', 'A3': '0x4', 'A4': '0x2e', 'A5': '0x1', 'A6': '0xc4'}

Вариант №35

Задача №8

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

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

Целое.
0 5 6 8 9 15 M1 M2 M3 16 17 19 20 25 26 31 M3 M4 M5 M6

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

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

Тесты:

>>> main(2579782480)
[('M1', '0x10'), ('M2', '0x5'), ('M3', '0x2d'), ('M4', '0x2'), ('M5', '0x1c'), ('M6', '0x26')]

>>> main(3288038982)
[('M1', '0x6'), ('M2', '0x1'), ('M3', '0xbf'), ('M4', '0x5'), ('M5', '0x3f'), ('M6', '0x30')]

>>> main(3630735120)
[('M1', '0x10'), ('M2', '0x4'), ('M3', '0x4f'), ('M4', '0x4'), ('M5', '0x6'), ('M6', '0x36')]

>>> main(2042961339)
[('M1', '0x3b'), ('M2', '0x6'), ('M3', '0x8e'), ('M4', '0x2'), ('M5', '0x1c'), ('M6', '0x1e')]

Вариант №36

Задача №8

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

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

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

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

Целое.
0 8 9 10 11 12 14 15 24 25 28 A1 A2 A3 A4 A5 A6

Тесты:

>>> main((129, 1, 1, 4, 761, 2))
92064385

>>> main((373, 3, 1, 7, 218, 11))
376274805

>>> main((276, 1, 1, 2, 937, 15))
534031124

>>> main((327, 0, 0, 5, 177, 6))
207147335

Вариант №37

Задача №8

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

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

Целое.

0 4 5 7 8 12 13 22 23 25 Z2 Z3 Z4 Z5

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

Целое.

0 2 3 12 13 17 18 22 23 25 Z2 Z4 Z3 Z5

Тесты:

>>> main(32754366)
25255157

>>> main(51508544)
50504826

>>> main(48088317)
41981815

>>> main(66164462)
58907751

Вариант №38

Задача №8

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

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

Десятичная строка.
0 9 10 11 12 19 Z1 Z2 Z3 20 21 22 29 30 31 39 Z3 Z4 Z6

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

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

Тесты:

>>> main('1092916574618')
[('Z1', '0x19a'), ('Z2', '0x2'), ('Z3', '0x277'), ('Z4', '0xdb'), ('Z6', '0x1fc')]

>>> main('61070252674')
[('Z1', '0x282'), ('Z2', '0x2'), ('Z3', '0x121'), ('Z4', '0xe0'), ('Z6', '0x1c')]

>>> main('482498659203')
[('Z1', '0x383'), ('Z2', '0x0'), ('Z3', '0x294'), ('Z4', '0x5c'), ('Z6', '0xe0')]

>>> main('606769627139')
[('Z1', '0x3'), ('Z2', '0x0'), ('Z3', '0x9c'), ('Z4', '0x19'), ('Z6', '0x11a')]

Вариант №39

Задача №8

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

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

Целое.

0 3 4 11 12 18 D1 D3 19 21 22 28 29 37 D3 D4 D5

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

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

0 7 8 16 17 18 D5 D1 19 20 21 27 28 37 D1 D4 D3

Тесты:

>>> main(107896070155)
'0x1b6f96c800'

>>> main(85572253248)
'0xf6409f00'

>>> main(81471011426)
'0xcfc049700'

>>> main(266895512674)
'0x365205f100'

Вариант №40

Задача №8

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

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

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

0 2 3 9 10 16 W1 W2 W3 17 20 21 25 26 33 W4 W5 W6

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

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

0 6 7 9 10 16 W3 W1 W2 17 21 22 25 26 33 W5 W4 W6

Тесты:

>>> main('0x2a5d05b8f')
'11376904086'

>>> main('0x289748e6')
'717779794'

>>> main('0x194e40bda')
'6787427586'

>>> main('0x1fc5e68bc')
'8586026522'