Задача №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'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main(2007884)
'0x34cd43'
>>> main(2405232)
'0x370964'
>>> main(738971)
'0x29b689'
>>> main(2322576)
'0x906e4'
Задача №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'
Задача №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)]
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Целое.
Тесты:
>>> main('0x156cbb273')
8596540315
>>> main('0xa49ec6ad')
21484052098
>>> main('0x537565ba')
8603268361
>>> main('0x6cbc2f036')
25784599269
Задача №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}
Задача №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
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('22861227')
('0xb', '0xad', '0x57')
>>> main('25565969')
('0x11', '0xd8', '0x61')
>>> main('4088332')
('0xc', '0x110', '0xf')
>>> main('49986933')
('0x15', '0x1eb', '0xbe')
Задача №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')
Задача №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)
Задача №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'
Задача №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')
Задача №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')
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('264288')
'0x40830'
>>> main('275914')
'0x434e5'
>>> main('231714')
'0x38891'
>>> main('304839')
'0x4a563'
Задача №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'}
Задача №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')]
Задача №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')]
Задача №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)]
Задача №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'
Задача №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')
Задача №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'}
Задача №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'
Задача №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')
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Целое.
Тесты:
>>> main('0x8e47f')
245799
>>> main('0x4f0cd')
409621
>>> main('0x1e223a')
1163386
>>> main('0x47c63')
196627
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Десятичная строка.
Тесты:
>>> main(3336550610)
'2430565485'
>>> main(4017354485)
'2934435575'
>>> main(2984828536)
'3329342238'
>>> main(2557501908)
'2713766279'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Целое.
Тесты:
>>> main('0x14b07d')
2891604
>>> main('0xbdb2e')
3591051
>>> main('0x9f61c')
4032265
>>> main('0x1759c8')
1470999
Задача №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}
Задача №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)]
Задача №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'}
Задача №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)]
Задача №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')]
Задача №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'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main(138681)
'0x3b688'
>>> main(120572)
'0x2de07'
>>> main(96963)
'0x75985'
>>> main(198226)
'0xcb0c'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('634')
'0x39a'
>>> main('1611')
'0x593'
>>> main('835')
'0xd3'
>>> main('366')
'0x15e'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main(5436740)
'0xc4ca5'
>>> main(14601550)
'0xce3bd'
>>> main(13377172)
'0x14798'
>>> main(12317426)
'0xf2d77'
Задача №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'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.
Выходные данные:
Целое.
Тесты:
>>> main(488021)
87538
>>> main(630810)
27168
>>> main(884928)
197376
>>> main(166436)
37002
Задача №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
Задача №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
Задача №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}