ИКБО-68-23

Вариант №1

Задача №8

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

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

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

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

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

Тесты:

>>> main('19611')
{'W1': '0x3', 'W3': '0x9', 'W4': '0x2', 'W5': '0x9'}

>>> main('25767')
{'W1': '0x7', 'W3': '0xa', 'W4': '0x2', 'W5': '0xc'}

>>> main('24490')
{'W1': '0x2', 'W3': '0x1a', 'W4': '0x3', 'W5': '0xb'}

>>> main('23290')
{'W1': '0x2', 'W3': '0xf', 'W4': '0x1', 'W5': '0xb'}

Вариант №2

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('0x5931c748')
410465864

>>> main('0x2465e245')
841459973

>>> main('0x3a7c559e')
1046040222

>>> main('0x687f390b')
1066465803

Вариант №3

Задача №8

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

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

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

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

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

Тесты:

>>> main('29009304')
{'U1': '152', 'U2': '5', 'U3': '340', 'U4': '27'}

>>> main('39532189')
{'U1': '157', 'U2': '6', 'U3': '358', 'U4': '37'}

>>> main('37041238')
{'U1': '86', 'U2': '4', 'U3': '166', 'U4': '35'}

>>> main('44664662')
{'U1': '86', 'U2': '7', 'U3': '304', 'U4': '42'}

Вариант №4

Задача №8

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

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

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

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

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

Тесты:

>>> main(('0xd5', '0x1', '0x13d'))
'0x4f50d5'

>>> main(('0xd2', '0x2', '0x306'))
'0xc1a0d2'

>>> main(('0xdf', '0x3', '0x24c'))
'0x9330df'

>>> main(('0x8', '0x1', '0x1f4'))
'0x7d1008'

Вариант №5

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main(('0xb', '0x19f', '0x2'))
39419

>>> main(('0x9', '0xc9', '0x3'))
52377

>>> main(('0x5', '0xc2', '0x1'))
19493

>>> main(('0xe', '0x195', '0x0'))
6494

Вариант №6

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(306658371)
{'A1': '3', 'A2': '113', 'A3': '57', 'A4': '2', 'A5': '9'}

>>> main(733408965)
{'A1': '5', 'A2': '59', 'A3': '183', 'A4': '13', 'A5': '21'}

>>> main(645782440)
{'A1': '40', 'A2': '110', 'A3': '238', 'A4': '3', 'A5': '19'}

>>> main(339362655)
{'A1': '31', 'A2': '13', 'A3': '210', 'A4': '1', 'A5': '10'}

Вариант №7

Задача №8

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

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

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

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

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

Тесты:

>>> main(('0xc', '0x1', '0x1b1', '0x6'))
'0x1b6208c'

>>> main(('0x29', '0x3', '0x92', '0x7'))
'0x1d241a9'

>>> main(('0x47', '0x3', '0x4', '0x2'))
'0x8081c7'

>>> main(('0xf', '0x0', '0xb2', '0x6'))
'0x196400f'

Вариант №8

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x1cb885')
'1836099'

>>> main('0x19a5ba')
'1575644'

>>> main('0x88c85')
'525891'

>>> main('0x8508d')
'524359'

Вариант №9

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x13aa450')
'0x1d52284'

>>> main('0xfd3a5a')
'0x1e9d2d3'

>>> main('0x47000d')
'0x380069'

>>> main('0xf4a343')
'0x1a51a1b'

Вариант №10

Задача №8

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

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

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

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

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

Тесты:

>>> main({'H1': '0x3', 'H2': '0x16', 'H3': '0xf0'})
'0x3c2c3'

>>> main({'H1': '0x17', 'H2': '0x15', 'H3': '0x1a2'})
'0x68ab7'

>>> main({'H1': '0x19', 'H2': '0x11', 'H3': '0x4d'})
'0x13639'

>>> main({'H1': '0x11', 'H2': '0x1c', 'H3': '0x4'})
'0x1391'

Вариант №11

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main(('0x0', '0x1b8', '0x0', '0xc', '0x5', '0x31'))
411796336

>>> main(('0x0', '0x289', '0x1', '0x8', '0x36', '0x58'))
745344274

>>> main(('0x0', '0x390', '0x0', '0x9', '0x20', '0xee'))
2000758560

>>> main(('0x1', '0x14d', '0x2', '0x1', '0x32', '0x1'))
14955163

Вариант №12

Задача №8

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

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

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

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

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

Тесты:

>>> main('108147430')
'0x65e7260'

>>> main('44044218')
'0x1f6a1a0'

>>> main('83470716')
'0x52cfbc0'

>>> main('24750106')
'0x50179a0'

Вариант №13

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(852982)
'0x10b1a'

>>> main(1903118)
'0x5073a'

>>> main(3547973)
'0x1102ec'

>>> main(1268478)
'0x2d0f26'

Вариант №14

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x4f4e89f')
[('M2', '15'), ('M3', '4'), ('M4', '29'), ('M5', '13'), ('M6', '19')]

>>> main('0x688190a')
[('M2', '5'), ('M3', '8'), ('M4', '3'), ('M5', '2'), ('M6', '26')]

>>> main('0x158b775')
[('M2', '10'), ('M3', '59'), ('M4', '22'), ('M5', '6'), ('M6', '5')]

>>> main('0xbc0d17')
[('M2', '11'), ('M3', '40'), ('M4', '1'), ('M5', '15'), ('M6', '2')]

Вариант №15

Задача №8

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

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

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

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

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

Тесты:

>>> main(('0x17', '0xfc', '0x24', '0xc'))
'13180823'

>>> main(('0x17', '0x111', '0x3', '0x4'))
'4252215'

>>> main(('0x6', '0x13', '0xb', '0x1a'))
'27443814'

>>> main(('0x17', '0x149', '0x2e', '0x0'))
'764215'

Вариант №16

Задача №8

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

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

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

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

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

Тесты:

>>> main({'I1': '905', 'I2': '138', 'I3': '3', 'I4': '0', 'I5': '98', 'I6': '170'})
'733433703305'

>>> main({'I1': '889', 'I2': '157', 'I3': '6', 'I4': '7', 'I5': '113', 'I6': '285'})
'1227873744761'

>>> main({'I1': '509', 'I2': '3', 'I3': '5', 'I4': '1', 'I5': '42', 'I6': '237'})
'1019319946749'

>>> main({'I1': '367', 'I2': '204', 'I3': '4', 'I4': '3', 'I5': '18', 'I6': '110'})
'473057931631'

Вариант №17

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x169ec460e2bdf')
'580472010737802'

>>> main('0x1d04db03f095')
'846943962045308'

>>> main('0x13d29ad0480ea')
'286376171943328'

>>> main('0x205e48f6cdabd')
'964678645748150'

Вариант №18

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main([('K1', '0x30'), ('K3', '0xd0'), ('K4', '0x45'), ('K5', '0x0')])
585629744

>>> main([('K1', '0x59'), ('K3', '0xeb'), ('K4', '0x14'), ('K5', '0x1')])
2322956377

>>> main([('K1', '0x33'), ('K3', '0x3f'), ('K4', '0xbd'), ('K5', '0x0')])
1587511347

>>> main([('K1', '0x32'), ('K3', '0x4a'), ('K4', '0x44'), ('K5', '0x0')])
572850226

Вариант №19

Задача №8

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

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

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

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

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

Тесты:

>>> main('791931')
'0x1ab60'

>>> main('479716')
'0xa0e080'

>>> main('14728343')
'0x5c3af0'

>>> main('7902775')
'0x4f2ee0'

Вариант №20

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main({'V1': 20, 'V2': 277, 'V3': 5, 'V4': 145, 'V6': 57})
489664373428

>>> main({'V1': 27, 'V2': 293, 'V3': 5, 'V4': 94, 'V6': 24})
206183163067

>>> main({'V1': 15, 'V2': 262, 'V3': 4, 'V4': 137, 'V6': 39})
335043436751

>>> main({'V1': 14, 'V2': 111, 'V3': 6, 'V4': 18, 'V6': 47})
403731746286

Вариант №21

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main({'I1': '0x7', 'I2': '0xb', 'I3': '0x16a'})
46431

>>> main({'I1': '0x0', 'I2': '0xf', 'I3': '0x16e'})
46968

>>> main({'I1': '0x3', 'I2': '0xb', 'I3': '0x1e8'})
62555

>>> main({'I1': '0x7', 'I2': '0x7', 'I3': '0x54'})
10815

Вариант №22

Задача №8

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

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

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

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

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

Тесты:

>>> main('127158036493')
'0x1d9a6cd0d4'

>>> main('57285992750')
'0xd57720c70'

>>> main('14187587866')
'0x34cd694b4'

>>> main('42399028101')
'0x9de2cb6e9'

Вариант №23

Задача №8

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

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

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

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

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

Тесты:

>>> main([('R2', '0x3'), ('R3', '0x49'), ('R4', '0x3')])
'0x1c9c00'

>>> main([('R2', '0x2'), ('R3', '0x71'), ('R4', '0x1')])
'0xf1800'

>>> main([('R2', '0x1'), ('R3', '0x7a'), ('R4', '0x0')])
'0x7a400'

>>> main([('R2', '0x1'), ('R3', '0x74'), ('R4', '0x1')])
'0xf4400'

Вариант №24

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x2c2cd36a6')
('38', '13', '6', '205', '2', '88')

>>> main('0x706ede97')
('23', '13', '27', '110', '0', '14')

>>> main('0x3441fc1b9')
('57', '3', '24', '31', '4', '104')

>>> main('0x2fa4f6062')
('98', '0', '12', '79', '2', '95')

Вариант №25

Задача №8

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

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

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

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

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

Тесты:

>>> main({'S1': '14', 'S2': '5', 'S3': '1', 'S4': '180', 'S5': '162'})
'170606942'

>>> main({'S1': '1', 'S2': '14', 'S3': '14', 'S4': '0', 'S5': '239'})
'250613473'

>>> main({'S1': '3', 'S2': '1', 'S3': '1', 'S4': '184', 'S5': '836'})
'877363475'

>>> main({'S1': '8', 'S2': '1', 'S3': '10', 'S4': '168', 'S5': '185'})
'194677272'

Вариант №26

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('2470522068')
3494589012

>>> main('1904738169')
1644154489

>>> main('765134116')
1723942308

>>> main('1100231601')
1695344689

Вариант №27

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(905804639223)
[('T1', '0x1f7'), ('T2', '0xf5'), ('T3', '0x5'), ('T4', '0x0'), ('T5', '0x13'), ('T6', '0x34b')]

>>> main(660829684065)
[('T1', '0x161'), ('T2', '0x260'), ('T3', '0x0'), ('T4', '0x1'), ('T5', '0xe'), ('T6', '0x267')]

>>> main(371430697148)
[('T1', '0xbc'), ('T2', '0x354'), ('T3', '0xf'), ('T4', '0x1'), ('T5', '0x1d'), ('T6', '0x159')]

>>> main(884654653339)
[('T1', '0x19b'), ('T2', '0x35f'), ('T3', '0x0'), ('T4', '0x3'), ('T5', '0x1c'), ('T6', '0x337')]

Вариант №28

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x9b247')
[('K1', 1), ('K2', 35), ('K4', 620)]

>>> main('0x45788')
[('K1', 0), ('K2', 68), ('K4', 277)]

>>> main('0x4932e')
[('K1', 0), ('K2', 23), ('K4', 292)]

>>> main('0xb9b1')
[('K1', 1), ('K2', 88), ('K4', 46)]

Вариант №29

Задача №8

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

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

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

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

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

Тесты:

>>> main('711048643')
'1392496'

>>> main('700788717')
'1354747'

>>> main('9162207')
'20343'

>>> main('552355456')
'1065376'

Вариант №30

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main((0, 440, 5, 169, 70, 25))
13569963888

>>> main((0, 298, 1, 230, 22, 25))
13469795924

>>> main((1, 82, 0, 170, 204, 12))
6871662757

>>> main((0, 371, 3, 57, 141, 26))
14254812902

Вариант №31

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main([('X1', '37'), ('X3', '1'), ('X4', '0'), ('X5', '194'), ('X6', '28')])
3808985125

>>> main([('X1', '75'), ('X3', '2'), ('X4', '1'), ('X5', '473'), ('X6', '21')])
2942763083

>>> main([('X1', '109'), ('X3', '3'), ('X4', '0'), ('X5', '157'), ('X6', '19')])
2591391853

>>> main([('X1', '82'), ('X3', '0'), ('X4', '1'), ('X5', '390'), ('X6', '23')])
3189375058

Вариант №32

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(14495992459)
{'U1': 11, 'U2': 149, 'U3': 14, 'U4': 432}

>>> main(10529684192)
{'U1': 96, 'U2': 117, 'U3': 828, 'U4': 313}

>>> main(15122576076)
{'U1': 76, 'U2': 101, 'U3': 704, 'U4': 450}

>>> main(3198729395)
{'U1': 51, 'U2': 121, 'U3': 337, 'U4': 95}

Вариант №33

Задача №8

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

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

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

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

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

Тесты:

>>> main('0xecbe4d')
'58915123'

>>> main('0x26cbd3c')
'26408179'

>>> main('0xe591c8')
'59131681'

>>> main('0x71173ca')
'74829600'

Вариант №34

Задача №8

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

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

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

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

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

Тесты:

>>> main('73134758')
{'C1': 6, 'C2': 5, 'C3': 121, 'C4': 11, 'C5': 69}

>>> main('354479052')
{'C1': 12, 'C2': 14, 'C3': 117, 'C4': 0, 'C5': 338}

>>> main('506435658')
{'C1': 10, 'C2': 2, 'C3': 76, 'C4': 15, 'C5': 482}

>>> main('172859375')
{'C1': 15, 'C2': 15, 'C3': 79, 'C4': 13, 'C5': 164}

Вариант №35

Задача №8

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

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

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

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

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

Тесты:

>>> main('3264')
[('D2', 12), ('D3', 12), ('D4', 0)]

>>> main('775')
[('D2', 0), ('D3', 3), ('D4', 0)]

>>> main('9448')
[('D2', 14), ('D3', 4), ('D4', 1)]

>>> main('3186')
[('D2', 7), ('D3', 12), ('D4', 0)]

Вариант №36

Задача №8

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

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

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

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

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

Тесты:

>>> main([('X2', '1'), ('X3', '231'), ('X4', '5'), ('X5', '23'), ('X6', '30')])
'32232350'

>>> main([('X2', '0'), ('X3', '41'), ('X4', '3'), ('X5', '12'), ('X6', '16')])
'17182884'

>>> main([('X2', '1'), ('X3', '686'), ('X4', '4'), ('X5', '22'), ('X6', '30')])
'32197306'

>>> main([('X2', '1'), ('X3', '282'), ('X4', '0'), ('X5', '9'), ('X6', '21')])
'22316138'

Вариант №37

Задача №8

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

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

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

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

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

Тесты:

>>> main('2585')
'1688'

>>> main('2726')
'2474'

>>> main('4312')
'5635'

>>> main('6950')
'2477'

Вариант №38

Задача №8

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

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

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

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

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

Тесты:

>>> main('2248714')
(10, 0, 5, 0, 2)

>>> main('45333146')
(154, 5, 27, 0, 43)

>>> main('6617831')
(231, 5, 15, 0, 6)

>>> main('39264381')
(125, 0, 18, 0, 37)

Вариант №39

Задача №8

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

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

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

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

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

Тесты:

>>> main({'I1': '0x7', 'I2': '0x12', 'I3': '0x11', 'I4': '0x0', 'I5': '0x0', 'I6': '0x6'})
'3163719'

>>> main({'I1': '0x17', 'I2': '0xe', 'I3': '0x1c', 'I4': '0x0', 'I5': '0x2', 'I6': '0x4'})
'2388439'

>>> main({'I1': '0x1b', 'I2': '0x1b', 'I3': '0x1a', 'I4': '0x2', 'I5': '0x3', 'I6': '0x6'})
'3631995'

>>> main({'I1': '0x12', 'I2': '0x16', 'I3': '0x13', 'I4': '0x2', 'I5': '0x3', 'I6': '0x3'})
'2051794'

Вариант №40

Задача №8

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

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

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

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

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

Тесты:

>>> main([('P1', '0'), ('P3', '9'), ('P4', '127'), ('P5', '0')])
'2085376'

>>> main([('P1', '0'), ('P3', '7'), ('P4', '592'), ('P5', '1')])
'26480128'

>>> main([('P1', '1'), ('P3', '28'), ('P4', '381'), ('P5', '1')])
'23033857'

>>> main([('P1', '1'), ('P3', '16'), ('P4', '884'), ('P5', '1')])
'31268865'