ИКБО-10-22

Вариант №1

Задача №8

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

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

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

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

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

Тесты:

>>> main('0xb83cc2a')
('42', '460', '1', '23')

>>> main('0xa56d350')
('80', '211', '43', '20')

>>> main('0xfa4ae7e')
('126', '174', '18', '31')

>>> main('0xc55d30c')
('12', '467', '42', '24')

Вариант №2

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(3506130545)
'3459895533'

>>> main(15868857477)
'15848804846'

>>> main(28412086251)
'28411755896'

>>> main(21602293156)
'21819467683'

Вариант №3

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x5eb1ab')
{'Q2': 49, 'Q3': 1, 'Q4': 47}

>>> main('0xe5c108')
{'Q2': 65, 'Q3': 3, 'Q4': 114}

>>> main('0x81a08e')
{'Q2': 32, 'Q3': 3, 'Q4': 64}

>>> main('0xf0ad5b')
{'Q2': 45, 'Q3': 1, 'Q4': 120}

Вариант №4

Задача №8

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

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

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

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

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

Тесты:

>>> main('2848245')
('5', '30', '5', '3', '13', '5')

>>> main('2360118')
('6', '6', '3', '0', '16', '4')

>>> main('5441479')
('7', '24', '7', '0', '12', '10')

>>> main('6652190')
('6', '3', '1', '0', '22', '12')

Вариант №5

Задача №8

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

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

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

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

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

Тесты:

>>> main(('0x94', '0xc', '0x64', '0x8', '0x16'))
'6043077780'

>>> main(('0x2a', '0x8', '0xfe', '0x9', '0x65'))
'27271301162'

>>> main(('0x1', '0x2', '0x45', '0xa', '0x54'))
'22718611969'

>>> main(('0x3a', '0x3', '0x1fe', '0x6', '0x33'))
'13807584058'

Вариант №6

Задача №8

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

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

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

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

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

Тесты:

>>> main('7969072378460')
('604', '28', '442', '476', '231')

>>> main('10972197441524')
('1012', '19', '494', '170', '319')

>>> main('12451840419998')
('158', '26', '902', '202', '362')

>>> main('6965193041077')
('181', '25', '475', '365', '202')

Вариант №7

Задача №8

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

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

Целое.

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

Целое.

Тесты:

>>> main(6946107932)
18148766028

>>> main(30044947652)
6607789153

>>> main(5237823252)
26458072245

>>> main(15791187511)
19053114521

Вариант №8

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main(('178', '3', '4', '29', '3'))
14501554

>>> main(('477', '4', '6', '53', '1'))
7694813

>>> main(('356', '6', '7', '48', '3'))
15760740

>>> main(('334', '6', '7', '1', '0'))
97614

Вариант №9

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(231131)
'0x6da1b'

>>> main(383331)
'0xb1b65'

>>> main(420252)
'0xce1a6'

>>> main(245521)
'0x88afb'

Вариант №10

Задача №8

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

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

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

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

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

Тесты:

>>> main('8453211')
[('S1', 27), ('S2', 113), ('S3', 7), ('S4', 0), ('S5', 1)]

>>> main('9267028')
[('S1', 20), ('S2', 29), ('S3', 43), ('S4', 1), ('S5', 1)]

>>> main('29034101')
[('S1', 53), ('S2', 25), ('S3', 24), ('S4', 7), ('S5', 3)]

>>> main('13356010')
[('S1', 42), ('S2', 47), ('S3', 30), ('S4', 9), ('S5', 1)]

Вариант №11

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('298699')
45203520

>>> main('11592543')
66865928

>>> main('43800929')
1780168

>>> main('66261948')
29523768

Вариант №12

Задача №8

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

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

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

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

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

Тесты:

>>> main('125303517')
('29', '15', '238')

>>> main('58260413')
('61', '1', '111')

>>> main('5493193')
('9', '7', '10')

>>> main('86418835')
('19', '13', '164')

Вариант №13

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('105387')
123051

>>> main('65192')
49320

>>> main('113741')
98381

>>> main('165994')
163946

Вариант №14

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main([('N1', '0xb'), ('N2', '0x1e'), ('N3', '0xc'), ('N4', '0xc7'), ('N6', '0x5a')])
193325707755

>>> main([('N1', '0x0'), ('N2', '0x30'), ('N3', '0x87'), ('N4', '0xcb'), ('N6', '0x23')])
75215281920

>>> main([('N1', '0xa'), ('N2', '0x2f'), ('N3', '0xc2'), ('N4', '0x83'), ('N6', '0x12')])
38689245946

>>> main([('N1', '0xe'), ('N2', '0x38'), ('N3', '0xe9'), ('N4', '0x87'), ('N6', '0x35')])
113852262286

Вариант №15

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x79678')
{'D1': '0x18', 'D2': '0x33', 'D3': '0x2', 'D4': '0xf'}

>>> main('0x46846')
{'D1': '0x6', 'D2': '0x2', 'D3': '0xd', 'D4': '0x8'}

>>> main('0x5db67')
{'D1': '0x7', 'D2': '0x1b', 'D3': '0xb', 'D4': '0xb'}

>>> main('0x2f0')
{'D1': '0x10', 'D2': '0x17', 'D3': '0x0', 'D4': '0x0'}

Вариант №16

Задача №8

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

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

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

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

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

Тесты:

>>> main(('0x2', '0x7', '0x3f'))
'0x1ff8'

>>> main(('0x0', '0x1', '0xf'))
'0x790'

>>> main(('0x1', '0x4', '0x1'))
'0xc4'

>>> main(('0x3', '0x5', '0x10'))
'0x85c'

Вариант №17

Задача №8

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

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

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

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

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

Тесты:

>>> main({'U1': '0x1', 'U3': '0xe', 'U4': '0x2', 'U5': '0x1b', 'U6': '0x1'})
'0xee3801'

>>> main({'U1': '0x0', 'U3': '0x3', 'U4': '0x2', 'U5': '0xd', 'U6': '0x0'})
'0x360c00'

>>> main({'U1': '0x0', 'U3': '0x24', 'U4': '0x1', 'U5': '0x1c', 'U6': '0x1'})
'0xf19000'

>>> main({'U1': '0x1', 'U3': '0x3e', 'U4': '0x1', 'U5': '0x16', 'U6': '0x1'})
'0xd9f801'

Вариант №18

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x6bad8540')
[('V1', '320'), ('V2', '1'), ('V3', '694'), ('V5', '3')]

>>> main('0xf5efd1368')
[('V1', '872'), ('V2', '4'), ('V3', '1012'), ('V5', '122')]

>>> main('0xf4a9394f2')
[('V1', '242'), ('V2', '5'), ('V3', '590'), ('V5', '122')]

>>> main('0x95dce3795')
[('V1', '917'), ('V2', '13'), ('V3', '824'), ('V5', '74')]

Вариант №19

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(30956539842)
{'P1': '962', 'P2': '83', 'P3': '19', 'P4': '106', 'P5': '7'}

>>> main(5487234644)
{'P1': '596', 'P2': '35', 'P3': '8', 'P4': '142', 'P5': '1'}

>>> main(1183835846)
{'P1': '710', 'P2': '121', 'P3': '7', 'P4': '141', 'P5': '0'}

>>> main(28375007779)
{'P1': '547', 'P2': '16', 'P3': '36', 'P4': '310', 'P5': '6'}

Вариант №20

Задача №8

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

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

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

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

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

Тесты:

>>> main('0xddddce06')
'0xdd819c00'

>>> main('0xa76e9706')
'0xa741ac00'

>>> main('0xe09d6591')
'0xe0e44800'

>>> main('0x2c24fbf9')
'0x2c7e7400'

Вариант №21

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(1426814)
{'H2': 15, 'H3': 43, 'H4': 174}

>>> main(633874)
{'H2': 9, 'H3': 96, 'H4': 77}

>>> main(3470287)
{'H2': 7, 'H3': 158, 'H4': 423}

>>> main(1838211)
{'H2': 1, 'H3': 100, 'H4': 224}

Вариант №22

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(3056073)
('67', '58', '1')

>>> main(5035058)
('40', '51', '2')

>>> main(47273304)
('42', '69', '22')

>>> main(39980605)
('28', '8', '19')

Вариант №23

Задача №8

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

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

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

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

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

Тесты:

>>> main('0xbb89e8d')
'127936699'

>>> main('0x12bb8465')
'151009579'

>>> main('0x1db2b272')
'209718235'

>>> main('0x181c1bd1')
'383787393'

Вариант №24

Задача №8

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

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

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

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

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

Тесты:

>>> main({'Z1': '1', 'Z2': '0', 'Z4': '8'})
'32769'

>>> main({'Z1': '36', 'Z2': '0', 'Z4': '9'})
'36900'

>>> main({'Z1': '48', 'Z2': '1', 'Z4': '29'})
'118896'

>>> main({'Z1': '16', 'Z2': '1', 'Z4': '14'})
'57424'

Вариант №25

Задача №8

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

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

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

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

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

Тесты:

>>> main({'H1': '1', 'H2': '150', 'H3': '0', 'H4': '5'})
'10541'

>>> main({'H1': '1', 'H2': '116', 'H3': '1', 'H4': '0'})
'745'

>>> main({'H1': '0', 'H2': '24', 'H3': '3', 'H4': '2'})
'5680'

>>> main({'H1': '0', 'H2': '58', 'H3': '2', 'H4': '2'})
'5236'

Вариант №26

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main([('Y1', '0x0'), ('Y2', '0x16'), ('Y3', '0x4'), ('Y4', '0x3')])
3672

>>> main([('Y1', '0x2'), ('Y2', '0x1f'), ('Y3', '0x4'), ('Y4', '0x1')])
1662

>>> main([('Y1', '0x3'), ('Y2', '0x9'), ('Y3', '0x1'), ('Y4', '0x3')])
3239

>>> main([('Y1', '0x2'), ('Y2', '0xf'), ('Y3', '0x3'), ('Y4', '0x2')])
2494

Вариант №27

Задача №8

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

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

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

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

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

Тесты:

>>> main('375')
'0x177'

>>> main('13405')
'0x3405d'

>>> main('14327')
'0x343f7'

>>> main('3152')
'0xc050'

Вариант №28

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main((1, 652, 2, 15, 3, 7))
8383025

>>> main((1, 493, 0, 9, 0, 5))
5392309

>>> main((3, 713, 2, 2, 2, 7))
7908135

>>> main((0, 850, 1, 3, 2, 0))
580936

Вариант №29

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(4292140708)
'8310378323'

>>> main(3199766117)
'8173935330'

>>> main(4492376477)
'1556733712'

>>> main(5503246189)
'1337643027'

Вариант №30

Задача №8

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

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

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

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

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

Тесты:

>>> main((14, 0, 5))
'1310734'

>>> main((1, 0, 88))
'23068673'

>>> main((30, 2, 118))
'30933534'

>>> main((31, 3, 24))
'6292255'

Вариант №31

Задача №8

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

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

Целое.

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

Целое.

Тесты:

>>> main(5560010009607)
1821176041393

>>> main(6921266484760)
7146884189529

>>> main(2470118704250)
2405300844819

>>> main(3380983465513)
1374443214361

Вариант №32

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(848626918384)
('1008', '6', '24', '89', '3')

>>> main(6323635354307)
('707', '2', '24', '5', '23')

>>> main(5376229674817)
('833', '0', '1', '572', '19')

>>> main(4641276378544)
('432', '8', '6', '906', '16')

Вариант №33

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x60cdd7')
('0x57', '0x1b', '0x183')

>>> main('0x7b0981')
('0x1', '0x13', '0x1ec')

>>> main('0x517dd2')
('0x52', '0x7b', '0x145')

>>> main('0x27f46b')
('0x6b', '0x68', '0x9f')

Вариант №34

Задача №8

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

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

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

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

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

Тесты:

>>> main('519040521996')
[('V1', '780'), ('V2', '5'), ('V3', '14'), ('V4', '156'), ('V5', '27'), ('V6', '60')]

>>> main('455353762394')
[('V1', '602'), ('V2', '0'), ('V3', '8'), ('V4', '665'), ('V5', '0'), ('V6', '53')]

>>> main('246360345256')
[('V1', '680'), ('V2', '2'), ('V3', '4'), ('V4', '540'), ('V5', '43'), ('V6', '28')]

>>> main('364210851426')
[('V1', '610'), ('V2', '3'), ('V3', '4'), ('V4', '596'), ('V5', '25'), ('V6', '42')]

Вариант №35

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x13858a4652')
('594', '145', '49', '2', '0', '39')

>>> main('0x1e8d0a88ef')
('239', '162', '33', '6', '0', '61')

>>> main('0x16f62eda9c')
('668', '438', '5', '27', '1', '45')

>>> main('0xdce21f732')
('818', '125', '4', '7', '1', '27')

Вариант №36

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('23691')
1419

>>> main('218774')
874

>>> main('125333')
701

>>> main('120672')
58

Вариант №37

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main({'T1': '7', 'T2': '15', 'T3': '179', 'T4': '6', 'T5': '5', 'T6': '11'})
780972927

>>> main({'T1': '2', 'T2': '24', 'T3': '398', 'T4': '1', 'T5': '4', 'T6': '47'})
3187904194

>>> main({'T1': '4', 'T2': '10', 'T3': '429', 'T4': '25', 'T5': '7', 'T6': '103'})
6974319956

>>> main({'T1': '6', 'T2': '12', 'T3': '245', 'T4': '53', 'T5': '3', 'T6': '24'})
1642788198

Вариант №38

Задача №8

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

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

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

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

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

Тесты:

>>> main('1561244')
{'A1': 28, 'A2': 0, 'A3': 1, 'A4': 210, 'A5': 23}

>>> main('4297951')
{'A1': 31, 'A2': 1, 'A3': 1, 'A4': 148, 'A5': 65}

>>> main('9421339')
{'A1': 27, 'A2': 0, 'A3': 0, 'A4': 194, 'A5': 143}

>>> main('2525056')
{'A1': 0, 'A2': 0, 'A3': 1, 'A4': 135, 'A5': 38}

Вариант №39

Задача №8

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

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

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

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

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

Тесты:

>>> main([('G1', '6'), ('G2', '1'), ('G3', '105'), ('G4', '9')])
'0x2748e'

>>> main([('G1', '6'), ('G2', '10'), ('G3', '109'), ('G4', '89')])
'0x1676d6'

>>> main([('G1', '6'), ('G2', '14'), ('G3', '80'), ('G4', '49')])
'0xc6876'

>>> main([('G1', '3'), ('G2', '8'), ('G3', '122'), ('G4', '76')])
'0x133d43'

Вариант №40

Задача №8

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

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

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

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

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

Тесты:

>>> main('45441574')
{'P1': '0x226', 'P2': '0x0', 'P4': '0x1a', 'P5': '0xa'}

>>> main('65979292')
{'P1': '0x39c', 'P2': '0x0', 'P4': '0x17', 'P5': '0xf'}

>>> main('50414355')
{'P1': '0x313', 'P2': '0x0', 'P4': '0x0', 'P5': '0xc'}

>>> main('42010417')
{'P1': '0x331', 'P2': '0x1', 'P4': '0x0', 'P5': '0xa'}