ИКБО-72-23

Вариант №1

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(3275520227594)
('0xa', '0x72', '0xe0', '0x148', '0x1d', '0xb')

>>> main(3697514567328)
('0x20', '0x2d', '0x2b', '0x1ca', '0xe', '0xd')

>>> main(549210693255)
('0x7', '0x3d', '0x8', '0x3bf', '0x1f', '0x1')

>>> main(2895304230138)
('0x7a', '0x9', '0x52', '0x3b', '0x11', '0xa')

Вариант №2

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(13279181819)
'0xb102fbf0'

>>> main(5087283517)
'0x71271e930'

>>> main(30945780921)
'0x4f30684b0'

>>> main(21564358879)
'0x50aca0d0'

Вариант №3

Задача №8

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

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

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

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

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

Тесты:

>>> main('41932')
[('F1', '4'), ('F2', '121'), ('F3', '2'), ('F4', '1'), ('F5', '0')]

>>> main('226947')
[('F1', '3'), ('F2', '208'), ('F3', '7'), ('F4', '2'), ('F5', '1')]

>>> main('63082')
[('F1', '2'), ('F2', '205'), ('F3', '7'), ('F4', '1'), ('F5', '0')]

>>> main('116371')
[('F1', '3'), ('F2', '210'), ('F3', '4'), ('F4', '3'), ('F5', '0')]

Вариант №4

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(1863203831783)
[('Q2', '115'), ('Q3', '575'), ('Q4', '486'), ('Q5', '57'), ('Q6', '27')]

>>> main(534710869858)
[('Q2', '49'), ('Q3', '95'), ('Q4', '464'), ('Q5', '399'), ('Q6', '7')]

>>> main(1843976495710)
[('Q2', '47'), ('Q3', '98'), ('Q4', '356'), ('Q5', '426'), ('Q6', '26')]

>>> main(141026761487)
[('Q2', '7'), ('Q3', '411'), ('Q4', '374'), ('Q5', '26'), ('Q6', '2')]

Вариант №5

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('0xb87ea19')
200983040

>>> main('0x1322ca5')
25892869

>>> main('0xbcc0dd6')
184772110

>>> main('0xa38b416')
170728448

Вариант №6

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(95618561)
{'R1': '1', 'R2': '256', 'R3': '1', 'R4': '12', 'R5': '44', 'R6': '5'}

>>> main(57009362)
{'R1': '0', 'R2': '105', 'R3': '9', 'R4': '7', 'R5': '25', 'R6': '3'}

>>> main(101654714)
{'R1': '0', 'R2': '93', 'R3': '8', 'R4': '12', 'R5': '3', 'R6': '6'}

>>> main(17343978)
{'R1': '0', 'R2': '245', 'R3': '9', 'R4': '2', 'R5': '2', 'R6': '1'}

Вариант №7

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x5fed2d9add')
[('K1', '0x5d'), ('K2', '0x135'), ('K3', '0xd'), ('K5', '0x7f'), ('K6', '0x1')]

>>> main('0x2e21e875247')
[('K1', '0x47'), ('K2', '0xa4'), ('K3', '0x7'), ('K5', '0x88'), ('K6', '0xb')]

>>> main('0x1322320bdbd')
[('K1', '0x3d'), ('K2', '0x17b'), ('K3', '0x0'), ('K5', '0xc8'), ('K6', '0x4')]

>>> main('0x261685a4fbd')
[('K1', '0x3d'), ('K2', '0x9f'), ('K3', '0x1a'), ('K5', '0x85'), ('K6', '0x9')]

Вариант №8

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('287060')
43137

>>> main('927376')
220161

>>> main('814165')
407681

>>> main('266983')
616448

Вариант №9

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(2344687)
'0xde34c7'

>>> main(480784)
'0x20b08e'

>>> main(1313789)
'0xfa5c28'

>>> main(2727889)
'0xa2fc53'

Вариант №10

Задача №8

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

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

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

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

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

Тесты:

>>> main({'P1': 27, 'P2': 5, 'P3': 589, 'P4': 150})
'0x969369b'

>>> main({'P1': 72, 'P2': 4, 'P3': 198, 'P4': 6})
'0x631a48'

>>> main({'P1': 47, 'P2': 3, 'P3': 821, 'P4': 232})
'0xe8cd5af'

>>> main({'P1': 3, 'P2': 7, 'P3': 536, 'P4': 3})
'0x386383'

Вариант №11

Задача №8

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

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

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

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

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

Тесты:

>>> main('807658')
{'U1': '0x2', 'U2': '0x5d', 'U3': '0x0', 'U4': '0x1', 'U6': '0xc'}

>>> main('348321')
{'U1': '0x1', 'U2': '0x14', 'U3': '0x0', 'U4': '0x1', 'U6': '0x5'}

>>> main('293532')
{'U1': '0x4', 'U2': '0x53', 'U3': '0x1', 'U4': '0x1', 'U6': '0x4'}

>>> main('1927573')
{'U1': '0x5', 'U2': '0x32', 'U3': '0x1', 'U4': '0x0', 'U6': '0x1d'}

Вариант №12

Задача №8

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

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

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

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

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

Тесты:

>>> main('2168696')
'37454865'

>>> main('6262953')
'33885177'

>>> main('33414521')
'40615901'

>>> main('4736399')
'61606212'

Вариант №13

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main({'P1': '0x58', 'P2': '0xb', 'P4': '0xd8'})
905981016

>>> main({'P1': '0x2ea', 'P2': '0x3', 'P4': '0x16d'})
1530924778

>>> main({'P1': '0xc9', 'P2': '0x7', 'P4': '0x1e1'})
2017467593

>>> main({'P1': '0x112', 'P2': '0xe', 'P4': '0x8b'})
583022866

Вариант №14

Задача №8

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

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

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

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

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

Тесты:

>>> main((7, 54, 7, 7, 0))
'0x70fb7'

>>> main((0, 28, 75, 0, 1))
'0x896e0'

>>> main((7, 27, 99, 4, 1))
'0xcc6df'

>>> main((4, 34, 23, 7, 1))
'0xf2f14'

Вариант №15

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('5777442679')
7730276215

>>> main('8403438530')
9204857794

>>> main('13376505453')
3572205165

>>> main('2327021138')
13829949010

Вариант №16

Задача №8

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

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

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

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

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

Тесты:

>>> main('85485')
'1087981'

>>> main('115263')
'1147455'

>>> main('138019')
'14115'

>>> main('111292')
'1139388'

Вариант №17

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main([('J1', '0x150'), ('J2', '0x1d'), ('J3', '0x14'), ('J4', '0x40'), ('J5', '0x6'), ('J6', '0x14')])
173443201872

>>> main([('J1', '0x1a5'), ('J2', '0x11'), ('J3', '0xb'), ('J4', '0x104'), ('J5', '0x5'), ('J6', '0x7')])
61608223653

>>> main([('J1', '0x72'), ('J2', '0x5'), ('J3', '0xb'), ('J4', '0x1bd'), ('J5', '0x16'), ('J6', '0x21')])
289606912626

>>> main([('J1', '0x1fa'), ('J2', '0x15'), ('J3', '0x17'), ('J4', '0x98'), ('J5', '0xa'), ('J6', '0x5')])
45714107386

Вариант №18

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main([('V1', '0x2'), ('V2', '0x2'), ('V3', '0x29'), ('V5', '0x0'), ('V6', '0x1')])
17050

>>> main([('V1', '0x2'), ('V2', '0x2'), ('V3', '0x37'), ('V5', '0x1'), ('V6', '0x1')])
25466

>>> main([('V1', '0x1'), ('V2', '0x2'), ('V3', '0x5'), ('V5', '0x0'), ('V6', '0x3')])
49241

>>> main([('V1', '0x1'), ('V2', '0x2'), ('V3', '0x0'), ('V5', '0x1'), ('V6', '0x2')])
40969

Вариант №19

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x1fcc4')
'0x2626f'

>>> main('0x3d48b')
'0x245ea'

>>> main('0x23e71')
'0x33887'

>>> main('0x215fe')
'0x2ff82'

Вариант №20

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(48972627)
('0x353', '0x50', '0x35', '0x5')

>>> main(60780515)
('0x3e3', '0x5b', '0xf', '0x7')

>>> main(134963271)
('0x47', '0x58', '0x5', '0x10')

>>> main(127063646)
('0x25e', '0x35', '0x9', '0xf')

Вариант №21

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x34b9c01538')
{'R1': 56, 'R2': 20, 'R3': 2, 'R4': 256, 'R6': 52}

>>> main('0x47d9c49be')
{'R1': 62, 'R2': 6, 'R3': 1, 'R4': 113, 'R6': 4}

>>> main('0x17f8045eb')
{'R1': 43, 'R2': 23, 'R3': 0, 'R4': 1, 'R6': 1}

>>> main('0x2e150309e')
{'R1': 30, 'R2': 2, 'R3': 6, 'R4': 320, 'R6': 2}

Вариант №22

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(125306070)
{'W2': '2', 'W3': '120', 'W4': '14'}

>>> main(8414381)
{'W2': '50', 'W3': '0', 'W4': '1'}

>>> main(10019703)
{'W2': '113', 'W3': '24', 'W4': '1'}

>>> main(43966341)
{'W2': '111', 'W3': '30', 'W4': '5'}

Вариант №23

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x86889276e')
{'B1': 6, 'B2': 237, 'B3': 9, 'B4': 17, 'B5': 538}

>>> main('0xdd3644eae')
{'B1': 6, 'B2': 469, 'B3': 34, 'B4': 108, 'B5': 884}

>>> main('0xeb8e9f22a')
{'B1': 2, 'B2': 581, 'B3': 15, 'B4': 29, 'B5': 942}

>>> main('0x23509ebd3')
{'B1': 3, 'B2': 378, 'B3': 15, 'B4': 33, 'B5': 141}

Вариант №24

Задача №8

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

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

Целое.

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

Целое.

Тесты:

>>> main(64059)
14295

>>> main(113984)
85472

>>> main(116365)
36411

>>> main(47329)
58818

Вариант №25

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main(('0x0', '0x79', '0x18', '0x0'))
6386

>>> main(('0x0', '0x47', '0x1d', '0x0'))
7566

>>> main(('0x1', '0x56', '0x9', '0x3'))
27053

>>> main(('0x1', '0x35', '0x12', '0x2'))
21099

Вариант №26

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('0x1cf7b98636')
438314051517

>>> main('0x44d951eba6')
307675899594

>>> main('0x1ed9544fad')
348159440586

>>> main('0x311a647767')
76669372627

Вариант №27

Задача №8

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

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

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

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

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

Тесты:

>>> main('259136150')
'140981718'

>>> main('166580253')
'122609757'

>>> main('231851121')
'119350129'

>>> main('164606019')
'248308291'

Вариант №28

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('1393598')
1048788

>>> main('1181940')
1049120

>>> main('1601248')
1573766

>>> main('820590')
524616

Вариант №29

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x1f7ecb')
('0xb', '0x6', '0x7')

>>> main('0x189d52')
('0x12', '0x1', '0x6')

>>> main('0x23f9cf')
('0xf', '0x7', '0x8')

>>> main('0x11a66c')
('0xc', '0x3', '0x4')

Вариант №30

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main({'T2': 0, 'T3': 1, 'T4': 563, 'T5': 70})
4623584

>>> main({'T2': 1, 'T3': 1, 'T4': 283, 'T5': 57})
3753712

>>> main({'T2': 0, 'T3': 0, 'T4': 901, 'T5': 34})
2285888

>>> main({'T2': 1, 'T3': 1, 'T4': 389, 'T5': 52})
3432816

Вариант №31

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x565ac1051')
(81, 8, 688, 1, 89, 1)

>>> main('0x15c1fcb921')
(289, 28, 1010, 1, 112, 5)

>>> main('0x3ff3285e3b')
(59, 15, 161, 3, 252, 15)

>>> main('0x367a9baa04')
(4, 21, 622, 2, 158, 13)

Вариант №32

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x7a17833')
('0x33', '0x3a1', '0x1')

>>> main('0x2d35e30')
('0x30', '0x2d3', '0x0')

>>> main('0x44a3add')
('0x1d', '0x4a', '0x1')

>>> main('0x23e61fa')
('0x3a', '0x23e', '0x0')

Вариант №33

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(16770)
[('X2', '0x6'), ('X3', '0x0'), ('X4', '0x10')]

>>> main(167457)
[('X2', '0x0'), ('X3', '0x1'), ('X4', '0xa3')]

>>> main(61458)
[('X2', '0x0'), ('X3', '0x0'), ('X4', '0x3c')]

>>> main(5091)
[('X2', '0x7'), ('X3', '0x1'), ('X4', '0x4')]

Вариант №34

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(501)
('0x1', '0x1a', '0x7', '0x0')

>>> main(2871)
('0x1', '0x1b', '0x4', '0x5')

>>> main(2014)
('0x0', '0xf', '0x7', '0x3')

>>> main(145)
('0x1', '0x8', '0x2', '0x0')

Вариант №35

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(1721286)
'1478663'

>>> main(707750)
'700441'

>>> main(831887)
'206883'

>>> main(1213471)
'303112'

Вариант №36

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main([('R1', 1), ('R3', 1), ('R4', 81), ('R5', 3)])
7449

>>> main([('R1', 1), ('R3', 0), ('R4', 123), ('R5', 0)])
1969

>>> main([('R1', 1), ('R3', 1), ('R4', 125), ('R5', 0)])
2009

>>> main([('R1', 0), ('R3', 0), ('R4', 96), ('R5', 2)])
5632

Вариант №37

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x4f03459')
'0x70344d9'

>>> main('0x35da952')
'0x5da9352'

>>> main('0x3b6cce0')
'0x36ccbe0'

>>> main('0x51d9e9c')
'0x1d9ed1c'

Вариант №38

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('0x6274e')
239076903

>>> main('0x199c59')
423631260

>>> main('0x1d4a0a')
167779658

>>> main('0x89893')
327157912

Вариант №39

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main(('0xa1', '0xf', '0x1d', '0x1f'))
8371873

>>> main(('0x25', '0xb', '0x1c', '0x0'))
235045

>>> main(('0x6', '0x9', '0x6', '0x12'))
4772358

>>> main(('0xc1', '0xa', '0x0', '0x1f'))
8131777

Вариант №40

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x1c6d2f')
('3', '11', '26', '0', '227')

>>> main('0x141a69')
('1', '26', '20', '1', '160')

>>> main('0x260e2')
('2', '24', '1', '0', '19')

>>> main('0x9458')
('0', '22', '8', '1', '4')