ИКБО-24-22

Вариант №1

Задача №8

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

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

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

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

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

Тесты:

>>> main([('V1', '0x39'), ('V2', '0x8'), ('V3', '0x37')])
'0xde39'

>>> main([('V1', '0x35'), ('V2', '0x9'), ('V3', '0x68')])
'0x1a275'

>>> main([('V1', '0x19'), ('V2', '0x6'), ('V3', '0x71')])
'0x1c599'

>>> main([('V1', '0x25'), ('V2', '0x3'), ('V3', '0x3f')])
'0xfce5'

Вариант №2

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(2007884)
'0x34cd43'

>>> main(2405232)
'0x370964'

>>> main(738971)
'0x29b689'

>>> main(2322576)
'0x906e4'

Вариант №3

Задача №8

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

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

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

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

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

Тесты:

>>> main(('6', '33', '0', '489'))
'4102569990'

>>> main(('12', '31', '3', '46'))
'392675340'

>>> main(('13', '95', '3', '4'))
'41402381'

>>> main(('1', '13', '1', '418'))
'3508748289'

Вариант №4

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(2622359)
[('E1', 23), ('E2', 28), ('E3', 0), ('E4', 20)]

>>> main(7896869)
[('E1', 5), ('E2', 57), ('E3', 15), ('E4', 60)]

>>> main(399638)
[('E1', 22), ('E2', 8), ('E3', 3), ('E4', 3)]

>>> main(6165428)
[('E1', 20), ('E2', 29), ('E3', 2), ('E4', 47)]

Вариант №5

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('0x156cbb273')
8596540315

>>> main('0xa49ec6ad')
21484052098

>>> main('0x537565ba')
8603268361

>>> main('0x6cbc2f036')
25784599269

Вариант №6

Задача №8

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

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

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

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

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

Тесты:

>>> main('1032059315667')
{'Z1': 467, 'Z2': 50, 'Z3': 7, 'Z4': 92, 'Z5': 772, 'Z6': 3}

>>> main('713557110809')
{'Z1': 25, 'Z2': 56, 'Z3': 17, 'Z4': 26, 'Z5': 610, 'Z6': 2}

>>> main('4881040781470')
{'Z1': 158, 'Z2': 88, 'Z3': 19, 'Z4': 37, 'Z5': 775, 'Z6': 17}

>>> main('3897975687083')
{'Z1': 427, 'Z2': 99, 'Z3': 20, 'Z4': 11, 'Z5': 185, 'Z6': 14}

Вариант №7

Задача №8

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

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

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

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

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

Тесты:

>>> main([('A1', '15'), ('A2', '794'), ('A3', '6'), ('A4', '5')])
'1421743'

>>> main([('A1', '2'), ('A2', '331'), ('A3', '13'), ('A4', '1')])
'480434'

>>> main([('A1', '10'), ('A2', '543'), ('A3', '2'), ('A4', '1')])
'303610'

>>> main([('A1', '14'), ('A2', '572'), ('A3', '1'), ('A4', '0')])
'25550'

Вариант №8

Задача №8

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

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

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

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

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

Тесты:

>>> main('22861227')
('0xb', '0xad', '0x57')

>>> main('25565969')
('0x11', '0xd8', '0x61')

>>> main('4088332')
('0xc', '0x110', '0xf')

>>> main('49986933')
('0x15', '0x1eb', '0xbe')

Вариант №9

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x711168')
('0x0', '0xb4', '0x2', '0x388')

>>> main('0x1e02b7')
('0x1', '0x15b', '0x0', '0xf0')

>>> main('0x135ab1')
('0x1', '0x158', '0x3', '0x9a')

>>> main('0x6e4a86')
('0x0', '0x143', '0x1', '0x372')

Вариант №10

Задача №8

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

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

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

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

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

Тесты:

>>> main('89195280')
(16, 2, 1, 4, 5, 5)

>>> main('69698018')
(98, 3, 0, 30, 2, 4)

>>> main('108665533')
(61, 1, 13, 40, 7, 6)

>>> main('106533829')
(69, 3, 9, 38, 5, 6)

Вариант №11

Задача №8

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

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

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

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

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

Тесты:

>>> main(('0x2a', '0x50', '0xa7', '0x2', '0x1b'))
'0x6ea7a02a00'

>>> main(('0x15c', '0x7b', '0x92', '0x1', '0x14'))
'0x5192f75c00'

>>> main(('0xaa', '0x6d', '0x68', '0x1', '0xd'))
'0x3568daaa00'

>>> main(('0x1b7', '0x6a', '0xce', '0x2', '0x18'))
'0x62ced5b700'

Вариант №12

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x134174')
('0', '0', '29', '130', '3', '1')

>>> main('0x3b207b')
('1', '1', '30', '64', '11', '3')

>>> main('0x3d5ed1')
('1', '0', '20', '189', '13', '3')

>>> main('0x307693')
('1', '1', '4', '237', '0', '3')

Вариант №13

Задача №8

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

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

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

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

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

Тесты:

>>> main('0xc40bf8')
('1016', '2', '49', '0')

>>> main('0x11a8b536')
('310', '45', '106', '8')

>>> main('0x3abf2ef1')
('753', '203', '47', '29')

>>> main('0x39808a0d')
('525', '34', '96', '28')

Вариант №14

Задача №8

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

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

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

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

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

Тесты:

>>> main('264288')
'0x40830'

>>> main('275914')
'0x434e5'

>>> main('231714')
'0x38891'

>>> main('304839')
'0x4a563'

Вариант №15

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(3417301)
{'I2': '0x49', 'I3': '0x0', 'I4': '0xd'}

>>> main(31168659)
{'I2': '0x31', 'I3': '0xe', 'I4': '0x76'}

>>> main(62616335)
{'I2': '0x66', 'I3': '0xd', 'I4': '0xee'}

>>> main(13063473)
{'I2': '0x2a', 'I3': '0xd', 'I4': '0x31'}

Вариант №16

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(3147250)
[('F2', '0x0'), ('F3', '0x5f'), ('F4', '0x200'), ('F5', '0x1')]

>>> main(130927428)
[('F2', '0x1'), ('F3', '0x34'), ('F4', '0x1b9'), ('F5', '0x3e')]

>>> main(47024544)
[('F2', '0x0'), ('F3', '0x1a'), ('F4', '0x1b1'), ('F5', '0x16')]

>>> main(83693444)
[('F2', '0x1'), ('F3', '0x78'), ('F4', '0x3a1'), ('F5', '0x27')]

Вариант №17

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(6224459)
[('W1', '0xb'), ('W2', '0x12'), ('W3', '0x3e'), ('W4', '0x5e')]

>>> main(5794368)
[('W1', '0x0'), ('W2', '0x12'), ('W3', '0x1a'), ('W4', '0x58')]

>>> main(763629)
[('W1', '0xd'), ('W2', '0x17'), ('W3', '0x29'), ('W4', '0xb')]

>>> main(1778700)
[('W1', '0xc'), ('W2', '0x0'), ('W3', '0x9'), ('W4', '0x1b')]

Вариант №18

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(2621805373)
[('O1', 61), ('O2', 19), ('O3', 139), ('O4', 28), ('O5', 2)]

>>> main(1773361335)
[('O1', 183), ('O2', 88), ('O3', 358), ('O4', 41), ('O5', 1)]

>>> main(60037444)
[('O1', 68), ('O2', 25), ('O3', 296), ('O4', 3), ('O5', 0)]

>>> main(3484418799)
[('O1', 239), ('O2', 2), ('O3', 352), ('O4', 15), ('O5', 3)]

Вариант №19

Задача №8

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

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

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

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

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

Тесты:

>>> main(('29', '956', '18', '72'))
'605220637'

>>> main(('31', '824', '81', '35'))
'298962463'

>>> main(('9', '61', '84', '28'))
'240389961'

>>> main(('38', '847', '85', '127'))
'1070978022'

Вариант №20

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(53128436137)
('9', '205', '718', '94', '0', '3')

>>> main(57241127362)
('2', '78', '857', '339', '0', '3')

>>> main(178247997872)
('16', '205', '418', '384', '0', '10')

>>> main(27549752102)
('6', '217', '95', '106', '1', '1')

Вариант №21

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x2b02b')
{'P1': '3', 'P2': '5', 'P3': '172'}

>>> main('0x5aab0')
{'P1': '0', 'P2': '86', 'P3': '362'}

>>> main('0x35eb')
{'P1': '3', 'P2': '61', 'P3': '13'}

>>> main('0x6b139')
{'P1': '1', 'P2': '39', 'P3': '428'}

Вариант №22

Задача №8

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

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

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

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

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

Тесты:

>>> main({'P1': '0x7', 'P2': '0x5d', 'P3': '0x4a', 'P4': '0x3', 'P5': '0x7'})
'0xfcaba7'

>>> main({'P1': '0xc', 'P2': '0x3d', 'P3': '0x73', 'P4': '0x0', 'P5': '0xb'})
'0x16737ac'

>>> main({'P1': '0x7', 'P2': '0xd', 'P3': '0x7b', 'P4': '0x1', 'P5': '0x1d'})
'0x3afb1a7'

>>> main({'P1': '0xd', 'P2': '0x70', 'P3': '0xf', 'P4': '0x3', 'P5': '0x11'})
'0x238fe0d'

Вариант №23

Задача №8

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

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

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

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

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

Тесты:

>>> main('11822')
('0x0', '0x1', '0x1', '0x1', '0x5c')

>>> main('10669')
('0x1', '0x1', '0x1', '0x1', '0x53')

>>> main('128')
('0x0', '0x0', '0x0', '0x0', '0x1')

>>> main('6213')
('0x1', '0x1', '0x0', '0x2', '0x30')

Вариант №24

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('0x8e47f')
245799

>>> main('0x4f0cd')
409621

>>> main('0x1e223a')
1163386

>>> main('0x47c63')
196627

Вариант №25

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(3336550610)
'2430565485'

>>> main(4017354485)
'2934435575'

>>> main(2984828536)
'3329342238'

>>> main(2557501908)
'2713766279'

Вариант №26

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('0x14b07d')
2891604

>>> main('0xbdb2e')
3591051

>>> main('0x9f61c')
4032265

>>> main('0x1759c8')
1470999

Вариант №27

Задача №8

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

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

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

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

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

Тесты:

>>> main('116548124')
{'C1': 28, 'C2': 16, 'C3': 6, 'C4': 0, 'C5': 889}

>>> main('107329125')
{'C1': 5, 'C2': 51, 'C3': 3, 'C4': 3, 'C5': 818}

>>> main('65615511')
{'C1': 23, 'C2': 52, 'C3': 3, 'C4': 2, 'C5': 500}

>>> main('117417429')
{'C1': 21, 'C2': 46, 'C3': 2, 'C4': 3, 'C5': 895}

Вариант №28

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(61050206)
[('R1', 94), ('R2', 0), ('R3', 13), ('R4', 0), ('R5', 327), ('R6', 3)]

>>> main(536457699)
[('R1', 99), ('R2', 1), ('R3', 1), ('R4', 3), ('R5', 499), ('R6', 31)]

>>> main(32109959)
[('R1', 7), ('R2', 1), ('R3', 5), ('R4', 7), ('R5', 467), ('R6', 1)]

>>> main(178481771)
[('R1', 107), ('R2', 0), ('R3', 10), ('R4', 6), ('R5', 326), ('R6', 10)]

Вариант №29

Задача №8

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

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

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

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

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

Тесты:

>>> main('60')
{'G1': '0', 'G2': '3', 'G3': '3'}

>>> main('473')
{'G1': '1', 'G2': '2', 'G3': '29'}

>>> main('271')
{'G1': '3', 'G2': '3', 'G3': '16'}

>>> main('441')
{'G1': '1', 'G2': '2', 'G3': '27'}

Вариант №30

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(5511675004)
[('W1', 12), ('W2', 1), ('W3', 3), ('W4', 62), ('W5', 266), ('W6', 328)]

>>> main(5395976420)
[('W1', 4), ('W2', 0), ('W3', 7), ('W4', 8), ('W5', 320), ('W6', 321)]

>>> main(5188766897)
[('W1', 1), ('W2', 1), ('W3', 5), ('W4', 38), ('W5', 140), ('W6', 309)]

>>> main(5660325890)
[('W1', 2), ('W2', 0), ('W3', 0), ('W4', 28), ('W5', 195), ('W6', 337)]

Вариант №31

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(1620669)
[('V1', '0xbd'), ('V2', '0xba'), ('V4', '0x3')]

>>> main(787922)
[('V1', '0xd2'), ('V2', '0x5'), ('V4', '0x1')]

>>> main(5398449)
[('V1', '0xb1'), ('V2', '0x25f'), ('V4', '0xa')]

>>> main(6430468)
[('V1', '0x4'), ('V2', '0x21f'), ('V4', '0xc')]

Вариант №32

Задача №8

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

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

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

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

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

Тесты:

>>> main({'N1': '0x32', 'N2': '0x56', 'N3': '0x3b', 'N4': '0x0', 'N5': '0xd5', 'N6': '0x0'})
'3575491378'

>>> main({'N1': '0x56', 'N2': '0x32', 'N3': '0xe', 'N4': '0x1', 'N5': '0x8a', 'N6': '0x0'})
'2317818198'

>>> main({'N1': '0x78', 'N2': '0x8f', 'N3': '0x29', 'N4': '0x5', 'N5': '0x37', 'N6': '0x0'})
'934594552'

>>> main({'N1': '0x44', 'N2': '0x74', 'N3': '0x2c', 'N4': '0x2', 'N5': '0x42', 'N6': '0x1'})
'5407914564'

Вариант №33

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(138681)
'0x3b688'

>>> main(120572)
'0x2de07'

>>> main(96963)
'0x75985'

>>> main(198226)
'0xcb0c'

Вариант №34

Задача №8

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

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

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

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

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

Тесты:

>>> main('634')
'0x39a'

>>> main('1611')
'0x593'

>>> main('835')
'0xd3'

>>> main('366')
'0x15e'

Вариант №35

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(5436740)
'0xc4ca5'

>>> main(14601550)
'0xce3bd'

>>> main(13377172)
'0x14798'

>>> main(12317426)
'0xf2d77'

Вариант №36

Задача №8

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

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

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

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

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

Тесты:

>>> main([('D2', '0x9f'), ('D3', '0x78'), ('D4', '0x3'), ('D5', '0x3d'), ('D6', '0x0')])
'256886008'

>>> main([('D2', '0xec'), ('D3', '0x3d'), ('D4', '0xd'), ('D5', '0x1c'), ('D6', '0x1')])
'389410656'

>>> main([('D2', '0xdc'), ('D3', '0x6'), ('D4', '0x7'), ('D5', '0x28'), ('D6', '0x2')])
'706492128'

>>> main([('D2', '0x84'), ('D3', '0x2c'), ('D4', '0x9'), ('D5', '0x31'), ('D6', '0x3')])
'1013277728'

Вариант №37

Задача №8

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

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

Целое.

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

Целое.

Тесты:

>>> main(488021)
87538

>>> main(630810)
27168

>>> main(884928)
197376

>>> main(166436)
37002

Вариант №38

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main([('D2', '0x6'), ('D3', '0x8'), ('D4', '0x1f9'), ('D5', '0x135'), ('D6', '0x2')])
716178721792

>>> main([('D2', '0x3d'), ('D3', '0x3'), ('D4', '0x6a'), ('D5', '0x57'), ('D6', '0x3')])
871452768768

>>> main([('D2', '0x19'), ('D3', '0x14'), ('D4', '0x160'), ('D5', '0xf6'), ('D6', '0x0')])
132440011264

>>> main([('D2', '0x39'), ('D3', '0x13'), ('D4', '0x111'), ('D5', '0x6f'), ('D6', '0x1')])
334757491200

Вариант №39

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main({'R1': 266, 'R2': 122, 'R3': 4, 'R4': 1, 'R5': 1, 'R6': 3})
113571082

>>> main({'R1': 324, 'R2': 52, 'R3': 25, 'R4': 0, 'R5': 1, 'R6': 2})
77162820

>>> main({'R1': 470, 'R2': 115, 'R3': 55, 'R4': 1, 'R5': 2, 'R6': 3})
125298646

>>> main({'R1': 250, 'R2': 44, 'R3': 29, 'R4': 1, 'R5': 0, 'R6': 3})
106780922

Вариант №40

Задача №8

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

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

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

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

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

Тесты:

>>> main('60')
{'A1': 28, 'A2': 1, 'A3': 0}

>>> main('208')
{'A1': 16, 'A2': 0, 'A3': 3}

>>> main('114')
{'A1': 18, 'A2': 1, 'A3': 1}

>>> main('58')
{'A1': 26, 'A2': 1, 'A3': 0}