ИКБО-73-23

Вариант №1

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main((1, 0, 1, 42))
344321

>>> main((14, 1, 16, 300))
2461774

>>> main((26, 2, 9, 146))
1198490

>>> main((28, 0, 20, 349))
2864156

Вариант №2

Задача №8

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

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

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

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

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

Тесты:

>>> main('8242')
(2, 4, 1, 4)

>>> main('11927')
(3, 5, 52, 5)

>>> main('15172')
(0, 1, 26, 7)

>>> main('14060')
(0, 3, 55, 6)

Вариант №3

Задача №8

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

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

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

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

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

Тесты:

>>> main('0xdac9c81c')
'0x49ed5c9'

>>> main('0xbc3208fc')
'0x1b25e3c1'

>>> main('0x1ec379c6')
'0x3c30f46f'

>>> main('0xb39a72db')
'0x59a59dbe'

Вариант №4

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(408301214)
('670', '3', '177', '194', '0')

>>> main(1068856250)
('954', '4', '171', '253', '1')

>>> main(253603546)
('730', '3', '237', '120', '0')

>>> main(282889882)
('666', '3', '228', '134', '0')

Вариант №5

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x15e682e')
('0x5', '0xcd', '0x2b')

>>> main('0x16ffe5d')
('0xcb', '0xff', '0x2d')

>>> main('0x10d7336')
('0x66', '0xae', '0x21')

>>> main('0x1931777')
('0xee', '0x62', '0x32')

Вариант №6

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(3782924)
'0x87b870'

>>> main(4160962)
'0xe17c7e'

>>> main(15834953)
'0x1a59de1'

>>> main(14241255)
'0xf34db3'

Вариант №7

Задача №8

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

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

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

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

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

Тесты:

>>> main('63065247')
{'B1': '31', 'B2': '50', 'B3': '36', 'B4': '30'}

>>> main('79393189')
{'B1': '37', 'B2': '6', 'B3': '439', 'B4': '37'}

>>> main('17875113')
{'B1': '41', 'B2': '2', 'B3': '268', 'B4': '8'}

>>> main('80510678')
{'B1': '22', 'B2': '59', 'B3': '199', 'B4': '38'}

Вариант №8

Задача №8

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

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

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

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

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

Тесты:

>>> main(('0x45', '0x23', '0x1', '0x1eb', '0x1'))
'2103544901'

>>> main(('0x224', '0x3b', '0x18', '0xb1', '0x1'))
'1446571556'

>>> main(('0x1ce', '0x2c', '0x7', '0xe8', '0x0'))
'487043534'

>>> main(('0xfc', '0x2b', '0x1c', '0x1de', '0x2'))
'3151801596'

Вариант №9

Задача №8

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

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

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

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

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

Тесты:

>>> main('0xf00553b9de0')
{'O1': '0xe0', 'O2': '0x9d', 'O3': '0x3b', 'O4': '0x1', 'O5': '0x15', 'O6': '0xf0'}

>>> main('0x37b757102ad')
{'O1': '0xad', 'O2': '0x2', 'O3': '0x71', 'O4': '0x1', 'O5': '0x2dd', 'O6': '0x37'}

>>> main('0x884ea14d43c')
{'O1': '0x3c', 'O2': '0xd4', 'O3': '0x14', 'O4': '0x2', 'O5': '0x13a', 'O6': '0x88'}

>>> main('0x1f65f74658e')
{'O1': '0x8e', 'O2': '0x65', 'O3': '0x74', 'O4': '0x3', 'O5': '0x197', 'O6': '0x1f'}

Вариант №10

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(165227)
{'I2': '0xb5', 'I3': '0x2', 'I4': '0x14', 'I5': '0x0'}

>>> main(965905)
{'I2': '0x88', 'I3': '0xe', 'I4': '0x35', 'I5': '0x1'}

>>> main(261145)
{'I2': '0xc', 'I3': '0xe', 'I4': '0x1f', 'I5': '0x0'}

>>> main(582512)
{'I2': '0xb8', 'I3': '0x1', 'I4': '0x7', 'I5': '0x1'}

Вариант №11

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main({'B1': '0', 'B3': '209', 'B4': '1', 'B5': '8'})
269584

>>> main({'B1': '0', 'B3': '197', 'B4': '3', 'B5': '2'})
80976

>>> main({'B1': '0', 'B3': '185', 'B4': '1', 'B5': '13'})
433040

>>> main({'B1': '1', 'B3': '53', 'B4': '0', 'B5': '1'})
33617

Вариант №12

Задача №8

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

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

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

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

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

Тесты:

>>> main('3245579655')
{'R1': '0x7', 'R3': '0xe7', 'R4': '0x7', 'R5': '0x182'}

>>> main('2175744326')
{'R1': '0x6', 'R3': '0x3ce', 'R4': '0x2', 'R5': '0x103'}

>>> main('8092436705')
{'R1': '0x1', 'R3': '0x232', 'R4': '0x5', 'R5': '0x3c4'}

>>> main('3143121230')
{'R1': '0xe', 'R3': '0x20e', 'R4': '0x5', 'R5': '0x176'}

Вариант №13

Задача №8

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

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

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

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

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

Тесты:

>>> main(('0x15c', '0x3', '0x48', '0x3a', '0xa'))
'0x14ea475c'

>>> main(('0x29', '0x0', '0x20', '0xd', '0x8'))
'0x10350029'

>>> main(('0x46', '0x3', '0x28', '0x10', '0x0'))
'0x414646'

>>> main(('0xdc', '0x0', '0x39', '0x77', '0x1'))
'0x3ddc8dc'

Вариант №14

Задача №8

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

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

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

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

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

Тесты:

>>> main([('P1', 32), ('P2', 11), ('P3', 3), ('P4', 5)])
'97056'

>>> main([('P1', 150), ('P2', 5), ('P3', 0), ('P4', 3)])
'50582'

>>> main([('P1', 170), ('P2', 14), ('P3', 0), ('P4', 98)])
'1609386'

>>> main([('P1', 91), ('P2', 5), ('P3', 0), ('P4', 10)])
'165211'

Вариант №15

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main((184, 106, 48, 1, 2))
163632312

>>> main((488, 369, 0, 2, 10))
704832488

>>> main((156, 263, 12, 2, 3))
238161564

>>> main((490, 55, 55, 0, 1))
81555434

Вариант №16

Задача №8

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

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

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

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

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

Тесты:

>>> main('1515520586')
{'P1': '10', 'P2': '18', 'P4': '10', 'P5': '90'}

>>> main('792890617')
{'P1': '25', 'P2': '103', 'P4': '8', 'P5': '47'}

>>> main('1224113511')
{'P1': '7', 'P2': '1003', 'P4': '30', 'P5': '72'}

>>> main('414510469')
{'P1': '5', 'P2': '876', 'P4': '22', 'P5': '24'}

Вариант №17

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x9e7bc3')
[('P2', '0xb'), ('P3', '0x1e7'), ('P4', '0x4')]

>>> main('0x19bfe7cd')
[('P2', '0x7'), ('P3', '0x1fe'), ('P4', '0xcd')]

>>> main('0x6c9f2a5')
[('P2', '0x2'), ('P3', '0x9f'), ('P4', '0x36')]

>>> main('0xe70577f')
[('P2', '0x7'), ('P3', '0x105'), ('P4', '0x73')]

Вариант №18

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main(('2', '98', '1', '73', '5', '1'))
3559186

>>> main(('0', '45', '0', '91', '3', '0'))
973160

>>> main(('2', '26', '0', '0', '6', '1'))
3670226

>>> main(('1', '42', '1', '49', '3', '1'))
2985297

Вариант №19

Задача №8

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

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

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

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

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

Тесты:

>>> main('64824902704890')
[('T1', '0x7a'), ('T2', '0xbd'), ('T3', '0x98'), ('T5', '0xf5'), ('T6', '0x3a')]

>>> main('11090545306009')
[('T1', '0x19'), ('T2', '0xd3'), ('T3', '0x6'), ('T5', '0x16'), ('T6', '0xa')]

>>> main('24876355659124')
[('T1', '0x74'), ('T2', '0x4a'), ('T3', '0xaf'), ('T5', '0x9f'), ('T6', '0x16')]

>>> main('66456013572388')
[('T1', '0x24'), ('T2', '0x12'), ('T3', '0x2a'), ('T5', '0x70'), ('T6', '0x3c')]

Вариант №20

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(508632182)
'0x1e5b4471'

>>> main(290846178)
'0x115157d7'

>>> main(215359857)
'0xcd8d885'

>>> main(64745014)
'0x3db6fb8'

Вариант №21

Задача №8

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

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

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

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

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

Тесты:

>>> main('52102022')
[('M1', '0x6'), ('M2', '0x7'), ('M3', '0x0'), ('M4', '0x6c'), ('M5', '0x3')]

>>> main('75589423')
[('M1', '0x2f'), ('M2', '0x6'), ('M3', '0x9'), ('M4', '0x205'), ('M5', '0x4')]

>>> main('11686777')
[('M1', '0x79'), ('M2', '0x6'), ('M3', '0x4'), ('M4', '0x2c9'), ('M5', '0x0')]

>>> main('95780349')
[('M1', '0x7d'), ('M2', '0x3'), ('M3', '0xf'), ('M4', '0x2d5'), ('M5', '0x5')]

Вариант №22

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(94319315212)
'0x144bea1977'

>>> main(28788081450)
'0x1a1d6254f9'

>>> main(108946087485)
'0xaf2bc7b6c'

>>> main(95621392513)
'0x15448b02de'

Вариант №23

Задача №8

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

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

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

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

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

Тесты:

>>> main('1983746061669')
'1433982212074'

>>> main('4230432502847')
'4230274506676'

>>> main('3591749861392')
'18253692390'

>>> main('1211149916531')
'936034665636'

Вариант №24

Задача №8

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

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

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

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

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

Тесты:

>>> main('267320274')
{'M1': 466, 'M2': 381, 'M4': 63}

>>> main('53145464')
{'M1': 376, 'M2': 375, 'M4': 12}

>>> main('49195071')
{'M1': 63, 'M2': 340, 'M4': 11}

>>> main('91989566')
{'M1': 62, 'M2': 467, 'M4': 21}

Вариант №25

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(4903)
('1', '19', '6', '2')

>>> main(27292)
('0', '14', '5', '13')

>>> main(12676)
('0', '2', '3', '6')

>>> main(9506)
('0', '17', '10', '4')

Вариант №26

Задача №8

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

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

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

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

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

Тесты:

>>> main('6392529315')
'2202403197'

>>> main('3634978387')
'3164995800'

>>> main('4723951309')
'6670647577'

>>> main('915901938')
'4762894390'

Вариант №27

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x6b72797c2')
{'Q1': 66, 'Q2': 15, 'Q3': 242, 'Q4': 882, 'Q5': 26}

>>> main('0x1cc056163b')
{'Q1': 59, 'Q2': 12, 'Q3': 194, 'Q4': 5, 'Q5': 115}

>>> main('0x387662b23b')
{'Q1': 59, 'Q2': 4, 'Q3': 86, 'Q4': 870, 'Q5': 225}

>>> main('0x119d7e5cda')
{'Q1': 90, 'Q2': 9, 'Q3': 459, 'Q4': 471, 'Q5': 70}

Вариант №28

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(33815732217)
{'E1': '0x1f9', 'E2': '0x7', 'E3': '0x131', 'E4': '0x17e', 'E5': '0xf'}

>>> main(80520162656)
{'E1': '0x160', 'E2': '0x6', 'E3': '0x202', 'E4': '0xfd', 'E5': '0x25'}

>>> main(57082299661)
{'E1': '0x10d', 'E2': '0x2', 'E3': '0x1ec', 'E4': '0x129', 'E5': '0x1a'}

>>> main(63088414092)
{'E1': '0x18c', 'E2': '0x6', 'E3': '0x1cc', 'E4': '0xc1', 'E5': '0x1d'}

Вариант №29

Задача №8

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

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

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

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

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

Тесты:

>>> main([('Y1', '123'), ('Y2', '2'), ('Y3', '15'), ('Y4', '0'), ('Y6', '3')])
'1588859'

>>> main([('Y1', '195'), ('Y2', '0'), ('Y3', '1'), ('Y4', '3'), ('Y6', '2')])
'1098947'

>>> main([('Y1', '152'), ('Y2', '0'), ('Y3', '12'), ('Y4', '0'), ('Y6', '3')])
'1585304'

>>> main([('Y1', '63'), ('Y2', '2'), ('Y3', '15'), ('Y4', '0'), ('Y6', '2')])
'1064511'

Вариант №30

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x127ec9560')
'0xab070093'

>>> main('0x23ab7b58')
'0x1dac60011'

>>> main('0x9839da43')
'0xd218004c'

>>> main('0x99c9c985')
'0x4c2f004c'

Вариант №31

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(14636)
'53545'

>>> main(14188)
'45929'

>>> main(14153)
'42825'

>>> main(9658)
'10681'

Вариант №32

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x5112')
'0x2342'

>>> main('0x75a5')
'0x35d5'

>>> main('0x534c')
'0x694c'

>>> main('0x437')
'0x617'

Вариант №33

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('0xeee4cc')
2175965

>>> main('0x49e115')
2638995

>>> main('0x8747bf')
3796750

>>> main('0x4a8ed1')
767125

Вариант №34

Задача №8

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

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

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

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

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

Тесты:

>>> main((15, 36, 663, 72))
'0x1229748f'

>>> main((20, 49, 1011, 207))
'0x33ff3634'

>>> main((18, 53, 810, 73))
'0x1272a6b2'

>>> main((27, 95, 516, 102))
'0x19a04bfb'

Вариант №35

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main({'G1': '0x1', 'G2': '0xe5', 'G3': '0x1', 'G4': '0x1', 'G6': '0x2'})
16795541

>>> main({'G1': '0x2', 'G2': '0x7b', 'G3': '0xd', 'G4': '0x3', 'G6': '0x69'})
880866798

>>> main({'G1': '0x0', 'G2': '0x27', 'G3': '0x9', 'G4': '0x0', 'G6': '0x44'})
570434716

>>> main({'G1': '0x0', 'G2': '0xce', 'G3': '0x4', 'G4': '0x3', 'G6': '0x20'})
268489528

Вариант №36

Задача №8

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

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

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

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

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

Тесты:

>>> main({'L1': '25', 'L2': '0', 'L3': '797', 'L4': '18', 'L5': '2'})
'43399705'

>>> main({'L1': '56', 'L2': '3', 'L3': '1016', 'L4': '10', 'L5': '0'})
'5763320'

>>> main({'L1': '61', 'L2': '7', 'L3': '362', 'L4': '15', 'L5': '2'})
'41604605'

>>> main({'L1': '14', 'L2': '4', 'L3': '439', 'L4': '3', 'L5': '1'})
'18575118'

Вариант №37

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(1039707503)
{'S1': '15', 'S2': '22', 'S4': '789', 'S5': '495'}

>>> main(813821451)
{'S1': '11', 'S2': '0', 'S4': '61', 'S5': '388'}

>>> main(226086402)
{'S1': '2', 'S2': '0', 'S4': '825', 'S5': '107'}

>>> main(236041001)
{'S1': '9', 'S2': '18', 'S4': '566', 'S5': '112'}

Вариант №38

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main([('S1', '0x3'), ('S2', '0x7'), ('S3', '0x20'), ('S4', '0x0')])
2079

>>> main([('S1', '0x3'), ('S2', '0xb'), ('S3', '0x7'), ('S4', '0x1')])
4591

>>> main([('S1', '0x1'), ('S2', '0x9'), ('S3', '0x2c'), ('S4', '0x0')])
2853

>>> main([('S1', '0x0'), ('S2', '0xa'), ('S3', '0x32'), ('S4', '0x1')])
7336

Вариант №39

Задача №8

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

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

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

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

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

Тесты:

>>> main('416759475')
'402741645'

>>> main('63529967')
'402781756'

>>> main('103782856')
'58466'

>>> main('428236062')
'268472216'

Вариант №40

Задача №8

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

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

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

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

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

Тесты:

>>> main((4, 0, 972))
'7962628'

>>> main((4, 0, 296))
'2424836'

>>> main((7, 1, 421))
'3448847'

>>> main((4, 1, 764))
'6258700'