ИМБО-10-23

Вариант №1

Задача №8

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

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

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

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

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

Тесты:

>>> main([('N1', 7), ('N2', 85), ('N3', 0), ('N4', 1), ('N5', 95)])
'1565359'

>>> main([('N1', 2), ('N2', 139), ('N3', 1), ('N4', 0), ('N5', 61)])
'1004634'

>>> main([('N1', 5), ('N2', 497), ('N3', 1), ('N4', 0), ('N5', 48)])
'794509'

>>> main([('N1', 6), ('N2', 276), ('N3', 0), ('N4', 1), ('N5', 113)])
'1861798'

Вариант №2

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x54d8c0')
('0x0', '0x0', '0x3', '0x8', '0x14d', '0x1')

>>> main('0x7d4a35')
('0x5', '0x3', '0x0', '0xa', '0x3d4', '0x1')

>>> main('0x488c59')
('0x9', '0x1', '0x1', '0xc', '0x88', '0x1')

>>> main('0x11eb7e')
('0xe', '0x3', '0x1', '0xb', '0x11e', '0x0')

Вариант №3

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main({'O1': 20, 'O2': 0, 'O3': 411, 'O4': 673, 'O5': 366, 'O6': 3})
2042963061780

>>> main({'O1': 43, 'O2': 13, 'O3': 145, 'O4': 1019, 'O5': 360, 'O6': 0})
387615704939

>>> main({'O1': 3, 'O2': 7, 'O3': 421, 'O4': 629, 'O5': 348, 'O6': 7})
4222612837827

>>> main({'O1': 35, 'O2': 13, 'O3': 978, 'O4': 546, 'O5': 115, 'O6': 8})
4522100345699

Вариант №4

Задача №8

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

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

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

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

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

Тесты:

>>> main('1976702956')
'0x75d59e85'

>>> main('613604447')
'0x2493e2b7'

>>> main('737439202')
'0x2bf44f1b'

>>> main('563850359')
'0x219ee2eb'

Вариант №5

Задача №8

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

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

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

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

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

Тесты:

>>> main('0xb5574')
'0xd64'

>>> main('0x14ab3')
'0x503'

>>> main('0x77b9b')
'0xddb'

>>> main('0x3aee0')
'0xe80'

Вариант №6

Задача №8

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

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

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

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

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

Тесты:

>>> main('35741113')
'42467396'

>>> main('8773442')
'193986576'

>>> main('197363760')
'117440888'

>>> main('50706692')
'190840928'

Вариант №7

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(21229)
'5307'

>>> main(24349)
'6087'

>>> main(31419)
'7854'

>>> main(4624)
'1156'

Вариант №8

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('0xc92d8a')
4502937

>>> main('0x3bb22c')
7260199

>>> main('0x1cd5a4')
3363235

>>> main('0x623645')
2677324

Вариант №9

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main([('U1', '0x0'), ('U3', '0xf'), ('U4', '0xb3'), ('U5', '0x3')])
1940416

>>> main([('U1', '0x0'), ('U3', '0x19'), ('U4', '0x7f'), ('U5', '0x5')])
2883136

>>> main([('U1', '0x1'), ('U3', '0x2'), ('U4', '0x49'), ('U5', '0x10')])
8538241

>>> main([('U1', '0x0'), ('U3', '0x5'), ('U4', '0x74'), ('U5', '0x15')])
11247936

Вариант №10

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x165cd')
{'T1': '1', 'T3': '1', 'T4': '12', 'T5': '1'}

>>> main('0x4a7d')
{'T1': '1', 'T3': '0', 'T4': '9', 'T5': '0'}

>>> main('0x3ee')
{'T1': '2', 'T3': '0', 'T4': '0', 'T5': '0'}

>>> main('0xb19d')
{'T1': '1', 'T3': '0', 'T4': '22', 'T5': '0'}

Вариант №11

Задача №8

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

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

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

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

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

Тесты:

>>> main('1111568')
'0x5610e'

>>> main('1381097')
'0x3b2550'

>>> main('730372')
'0x50b3'

>>> main('167024')
'0x1cc028'

Вариант №12

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('0x3a7ed0ce45')
7084547907

>>> main('0xe96369b76')
3916838106

>>> main('0x1ad20877f9')
7213771809

>>> main('0x275cfe3d17')
1964506104

Вариант №13

Задача №8

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

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

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

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

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

Тесты:

>>> main([('X1', '21'), ('X2', '13'), ('X3', '3'), ('X4', '7'), ('X5', '45'), ('X6', '0')])
'24102549'

>>> main([('X1', '50'), ('X2', '113'), ('X3', '1'), ('X4', '5'), ('X5', '905'), ('X6', '6')])
'3696064690'

>>> main([('X1', '49'), ('X2', '102'), ('X3', '2'), ('X4', '4'), ('X5', '138'), ('X6', '4')])
'2220143409'

>>> main([('X1', '4'), ('X2', '105'), ('X3', '2'), ('X4', '4'), ('X5', '941'), ('X6', '6')])
'3714888836'

Вариант №14

Задача №8

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

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

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

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

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

Тесты:

>>> main({'T1': '0x11', 'T2': '0x111', 'T3': '0x112', 'T4': '0x190', 'T6': '0x1c'})
'0xe00c844a231'

>>> main({'T1': '0xd', 'T2': '0x197', 'T3': '0xc2', 'T4': '0xbf', 'T6': '0x23'})
'0x11805fb0b2ed'

>>> main({'T1': '0x1f', 'T2': '0x10d', 'T3': '0x12e', 'T4': '0x1ad', 'T6': '0x21'})
'0x1080d6cba1bf'

>>> main({'T1': '0xf', 'T2': '0x1c9', 'T3': '0xed', 'T4': '0x186', 'T6': '0x26'})
'0x1300c33b792f'

Вариант №15

Задача №8

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

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

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

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

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

Тесты:

>>> main(('0x1b', '0xd', '0x16', '0x29', '0x28'))
'174550248731'

>>> main(('0xd0', '0x0', '0xd', '0x33', '0x16'))
'97911886032'

>>> main(('0xbb', '0x0', '0x3a', '0x2f', '0x20'))
'140593307835'

>>> main(('0x88', '0xf', '0x2', '0x3d', '0x27'))
'171597377416'

Вариант №16

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main({'R1': '0x2b1', 'R2': '0x1', 'R3': '0x12', 'R4': '0x1ab', 'R6': '0x0'})
56043185

>>> main({'R1': '0x19d', 'R2': '0x0', 'R3': '0x1c', 'R4': '0x371', 'R6': '0x0'})
115589533

>>> main({'R1': '0x1bb', 'R2': '0x3', 'R3': '0x19', 'R4': '0x20d', 'R6': '0x0'})
68918715

>>> main({'R1': '0x24d', 'R2': '0x2', 'R3': '0x11', 'R4': '0x315', 'R6': '0x0'})
103488077

Вариант №17

Задача №8

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

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

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

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

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

Тесты:

>>> main('98302')
'0x2ffe0e'

>>> main('815892')
'0x8e6214'

>>> main('15946072')
'0x6a2be8'

>>> main('12787776')
'0x640980'

Вариант №18

Задача №8

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

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

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

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

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

Тесты:

>>> main([('Z1', '20'), ('Z2', '1'), ('Z3', '1'), ('Z4', '282'), ('Z5', '9')])
'0x128d74'

>>> main([('Z1', '29'), ('Z2', '0'), ('Z3', '1'), ('Z4', '89'), ('Z5', '5')])
'0xa2cdd'

>>> main([('Z1', '25'), ('Z2', '1'), ('Z3', '1'), ('Z4', '108'), ('Z5', '98')])
'0xc43679'

>>> main([('Z1', '23'), ('Z2', '0'), ('Z3', '1'), ('Z4', '319'), ('Z5', '50')])
'0x649fd7'

Вариант №19

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(628298)
{'A1': 2, 'A2': 18, 'A4': 101, 'A5': 0, 'A6': 1}

>>> main(473860)
{'A1': 0, 'A2': 65, 'A4': 78, 'A5': 3, 'A6': 0}

>>> main(1409486)
{'A1': 2, 'A2': 115, 'A4': 96, 'A5': 2, 'A6': 2}

>>> main(1931784)
{'A1': 0, 'A2': 2, 'A4': 94, 'A5': 2, 'A6': 3}

Вариант №20

Задача №8

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

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

Целое.

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

Целое.

Тесты:

>>> main(749614)
789379

>>> main(264868)
174340

>>> main(727847)
444867

>>> main(170818)
446594

Вариант №21

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x628cfc5a')
[('U2', 63), ('U3', 652), ('U4', 8), ('U5', 1)]

>>> main('0x2005922ad')
[('U2', 8), ('U3', 89), ('U4', 0), ('U5', 8)]

>>> main('0x2d516b0d0')
[('U2', 44), ('U3', 278), ('U4', 5), ('U5', 11)]

>>> main('0x27f630bb6')
[('U2', 2), ('U3', 867), ('U4', 15), ('U5', 9)]

Вариант №22

Задача №8

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

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

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

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

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

Тесты:

>>> main({'C2': '28', 'C3': '4', 'C4': '0', 'C5': '19'})
'1265152'

>>> main({'C2': '21', 'C3': '5', 'C4': '1', 'C5': '42'})
'2808448'

>>> main({'C2': '9', 'C3': '3', 'C4': '0', 'C5': '9'})
'603264'

>>> main({'C2': '9', 'C3': '6', 'C4': '0', 'C5': '48'})
'3171456'

Вариант №23

Задача №8

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

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

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

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

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

Тесты:

>>> main((9, 9, 2, 22, 7, 2))
'18797129'

>>> main((46, 26, 1, 18, 18, 2))
'21647022'

>>> main((55, 11, 3, 12, 9, 0))
'2464503'

>>> main((1, 23, 1, 30, 4, 2))
'18075073'

Вариант №24

Задача №8

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

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

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

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

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

Тесты:

>>> main(('0x5c', '0x3a', '0x6', '0x19', '0x4b', '0x9'))
'0x12979dd5c'

>>> main(('0x4e', '0x2f', '0x5', '0x1a', '0x99', '0x0'))
'0x133ab7ce'

>>> main(('0x5e', '0xa', '0x5', '0x1', '0x6d', '0xb'))
'0x16da1a55e'

>>> main(('0x23', '0x1a', '0x6', '0x0', '0x13', '0x5'))
'0xa260cd23'

Вариант №25

Задача №8

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

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

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

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

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

Тесты:

>>> main({'M1': 39, 'M2': 3, 'M3': 6, 'M4': 1, 'M5': 45})
'11832551'

>>> main({'M1': 28, 'M2': 2, 'M3': 31, 'M4': 1, 'M5': 8})
'2145948'

>>> main({'M1': 16, 'M2': 1, 'M3': 31, 'M4': 3, 'M5': 16})
'4308560'

>>> main({'M1': 8, 'M2': 4, 'M3': 41, 'M4': 2, 'M5': 52})
'13718280'

Вариант №26

Задача №8

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

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

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

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

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

Тесты:

>>> main('1903194376')
'0x71442038'

>>> main('317592570')
'0x12c7eb09'

>>> main('462864962')
'0x1b810b61'

>>> main('984500290')
'0x3a810b24'

Вариант №27

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('0x3eff020e')
2114683791

>>> main('0x32756288')
1791599116

>>> main('0x942ffa4d')
1609601893

>>> main('0x94c1eee7')
3285400037

Вариант №28

Задача №8

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

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

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

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

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

Тесты:

>>> main([('C1', 6), ('C2', 120), ('C3', 2), ('C4', 1), ('C5', 17)])
'4531142'

>>> main([('C1', 4), ('C2', 135), ('C3', 15), ('C4', 3), ('C5', 35)])
'9434172'

>>> main([('C1', 6), ('C2', 309), ('C3', 8), ('C4', 2), ('C5', 37)])
'9865646'

>>> main([('C1', 5), ('C2', 17), ('C3', 1), ('C4', 0), ('C5', 26)])
'6819981'

Вариант №29

Задача №8

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

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

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

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

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

Тесты:

>>> main('12213361')
'0xba0d'

>>> main('21535975')
'0x148b9'

>>> main('17163925')
'0x105ae'

>>> main('29057765')
'0x1bb2e'

Вариант №30

Задача №8

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

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

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

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

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

Тесты:

>>> main([('V1', '6'), ('V2', '797'), ('V3', '43'), ('V4', '0')])
'0x15e3a6'

>>> main([('V1', '18'), ('V2', '109'), ('V3', '31'), ('V4', '1')])
'0x2f8db2'

>>> main([('V1', '13'), ('V2', '452'), ('V3', '20'), ('V4', '1')])
'0x2a388d'

>>> main([('V1', '23'), ('V2', '867'), ('V3', '6'), ('V4', '1')])
'0x236c77'

Вариант №31

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main([('F1', '0x1'), ('F3', '0xb'), ('F4', '0x8'), ('F5', '0x1ff')])
4291133441

>>> main([('F1', '0x36'), ('F3', '0x3'), ('F4', '0x8'), ('F5', '0x230')])
4701913142

>>> main([('F1', '0x18'), ('F3', '0x4'), ('F4', '0xb'), ('F5', '0x198')])
3428450328

>>> main([('F1', '0x26'), ('F3', '0xf'), ('F4', '0xb'), ('F5', '0x2eb')])
6272548902

Вариант №32

Задача №8

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

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

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

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

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

Тесты:

>>> main(('294', '10', '204', '13', '3'))
'33178255654'

>>> main(('259', '0', '127', '9', '1'))
'13688111363'

>>> main(('81', '11', '0', '14', '3'))
'33287438417'

>>> main(('77', '12', '91', '13', '4'))
'41531473997'

Вариант №33

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('0x768375309')
38859663360

>>> main('0x4745f12f8d')
58215973888

>>> main('0x4fe47522d4')
363402224640

>>> main('0x23353ba19d')
125715559424

Вариант №34

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x25a8e')
'142670'

>>> main('0x1f3ae')
'129486'

>>> main('0x36d12')
'210578'

>>> main('0x2df52')
'176050'

Вариант №35

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('111421599')
111280159

>>> main('26460665')
26705945

>>> main('476147049')
476413961

>>> main('104353122')
104693762

Вариант №36

Задача №8

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

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

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

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

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

Тесты:

>>> main('112925876')
'411870638'

>>> main('364192470')
'151180653'

>>> main('251129840')
'521137597'

>>> main('265243749')
'437021171'

Вариант №37

Задача №8

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

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

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

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

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

Тесты:

>>> main({'K1': '0x1', 'K3': '0xec', 'K4': '0x15f'})
'11531777'

>>> main({'K1': '0x11', 'K3': '0xa', 'K4': '0x9e'})
'5178641'

>>> main({'K1': '0x3f', 'K3': '0x71', 'K4': '0x4d'})
'2537663'

>>> main({'K1': '0x2d', 'K3': '0x1f', 'K4': '0x1f3'})
'16355245'

Вариант №38

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('36233')
362633

>>> main('21217')
189697

>>> main('24268')
443788

>>> main('18674')
62594

Вариант №39

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main([('Y1', 27), ('Y2', 63), ('Y3', 4), ('Y5', 15), ('Y6', 885)])
3715901435

>>> main([('Y1', 10), ('Y2', 10), ('Y3', 13), ('Y5', 10), ('Y6', 427)])
1793616202

>>> main([('Y1', 27), ('Y2', 10), ('Y3', 12), ('Y5', 9), ('Y6', 704)])
2955174235

>>> main([('Y1', 9), ('Y2', 9), ('Y3', 7), ('Y5', 15), ('Y6', 372)])
1564227881

Вариант №40

Задача №8

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

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

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

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

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

Тесты:

>>> main('339600240')
{'A2': 28, 'A3': 483, 'A4': 0, 'A5': 271, 'A6': 2}

>>> main('482205433')
{'A2': 62, 'A3': 478, 'A4': 0, 'A5': 303, 'A6': 3}

>>> main('544690795')
{'A2': 26, 'A3': 338, 'A4': 1, 'A5': 29, 'A6': 4}

>>> main('1125921085')
{'A2': 15, 'A3': 49, 'A4': 0, 'A5': 199, 'A6': 8}