Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Десятичная строка.
Тесты:
>>> main(398272691)
'515343765'
>>> main(54366248)
'516096322'
>>> main(337967290)
'307496415'
>>> main(207731833)
'283927495'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Десятичная строка.
Тесты:
>>> main(6536275783)
'5345315655'
>>> main(6274468471)
'8374905463'
>>> main(1612883679)
'1251524831'
>>> main(7017817109)
'2375500821'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('T1', '40'), ('T2', '3'), ('T4', '12'), ('T5', '23'), ('T6', '363')])
'389967512360'
>>> main([('T1', '29'), ('T2', '3'), ('T4', '0'), ('T5', '98'), ('T6', '593')])
'637550986013'
>>> main([('T1', '238'), ('T2', '4'), ('T4', '3'), ('T5', '13'), ('T6', '944')])
'1013722907886'
>>> main([('T1', '132'), ('T2', '1'), ('T4', '12'), ('T5', '38'), ('T6', '157')])
'168902525316'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('61688')
('0x8', '0xf', '0x0', '0xf')
>>> main('415616')
('0x0', '0x38', '0x1', '0x65')
>>> main('464520')
('0x8', '0x28', '0x1', '0x71')
>>> main('240502')
('0x6', '0x37', '0x2', '0x3a')
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Тесты:
>>> main(3357957)
{'K1': 1, 'K2': 2, 'K3': 416, 'K4': 19, 'K5': 25}
>>> main(1349056)
{'K1': 0, 'K2': 0, 'K3': 184, 'K4': 9, 'K5': 10}
>>> main(423734)
{'K1': 0, 'K2': 3, 'K3': 230, 'K4': 7, 'K5': 3}
>>> main(1852291)
{'K1': 1, 'K2': 1, 'K3': 112, 'K4': 4, 'K5': 14}
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('272424768418')
'243143203840'
>>> main('208017018935')
'234134891520'
>>> main('181544483081')
'205254839808'
>>> main('34998656764')
'38428369152'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('W1', '0x9'), ('W2', '0x3'), ('W3', '0x98'), ('W5', '0x2')])
'1058361'
>>> main([('W1', '0x1'), ('W2', '0x0'), ('W3', '0x144'), ('W5', '0x1')])
'545025'
>>> main([('W1', '0x3'), ('W2', '0x3'), ('W3', '0xb5'), ('W5', '0x3')])
'1584499'
>>> main([('W1', '0x9'), ('W2', '0x3'), ('W3', '0x18a'), ('W5', '0x1')])
'549561'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('L1', '8'), ('L2', '22'), ('L3', '121'), ('L4', '2'), ('L5', '1')])
'911048'
>>> main([('L1', '12'), ('L2', '25'), ('L3', '74'), ('L4', '3'), ('L5', '53')])
'28257068'
>>> main([('L1', '25'), ('L2', '10'), ('L3', '5'), ('L4', '2'), ('L5', '21')])
'11277657'
>>> main([('L1', '12'), ('L2', '3'), ('L3', '22'), ('L4', '0'), ('L5', '13')])
'6838380'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('0xe8151b')
(27, 2, 5, 58)
>>> main('0x86f57f')
(127, 2, 189, 33)
>>> main('0xe13f6c')
(108, 6, 79, 56)
>>> main('0xa23a6c')
(108, 4, 142, 40)
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('0x4bbdeb')
('0x1eb', '0xe', '0x5d', '0x1')
>>> main('0x587d3c')
('0x13c', '0xe', '0xc3', '0x1')
>>> main('0x1ec9a')
('0x9a', '0x6', '0xf', '0x0')
>>> main('0x66fd07')
('0x107', '0xe', '0x137', '0x1')
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.
Выходные данные:
Целое.
Тесты:
>>> main('22982905')
23789123
>>> main('53564296')
45711886
>>> main('26001825')
25978950
>>> main('11874845')
40216392
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('0x1a78422')
[('K1', '0x2'), ('K3', '0x1c'), ('K4', '0x1'), ('K5', '0xd')]
>>> main('0x1827e6a')
[('K1', '0xa'), ('K3', '0x13'), ('K4', '0x0'), ('K5', '0xc')]
>>> main('0x1bd4b5b')
[('K1', '0xb'), ('K3', '0xa'), ('K4', '0x7'), ('K5', '0xd')]
>>> main('0x3f1fe3')
[('K1', '0x3'), ('K3', '0x18'), ('K4', '0x7'), ('K5', '0x1')]
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('0xd76a75521')
('0x21', '0x2aa', '0x13', '0x1b', '0x35')
>>> main('0x73038d2d2')
('0x52', '0x1a5', '0x1c', '0x18', '0x1c')
>>> main('0x80075f8e9')
('0x69', '0x3f1', '0x1a', '0x0', '0x20')
>>> main('0xb8dc59299')
('0x19', '0x325', '0x2', '0x6', '0x2e')
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Целое.
Тесты:
>>> main('12525')
769
>>> main('27455')
24067
>>> main('19250')
23554
>>> main('7850')
28930
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('1505869000886')
'1929403785106'
>>> main('36575179066')
'1945762007065'
>>> main('1207994961920')
'1385194133560'
>>> main('1650020199678')
'757424030140'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('3936947933')
'3941075284'
>>> main('3998826913')
'3976727340'
>>> main('3661472718')
'3664776478'
>>> main('3664320000')
'3623881012'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('0xb790c1')
{'G1': '0x1', 'G2': '0x6', 'G3': '0x10', 'G4': '0x7', 'G5': '0x2d'}
>>> main('0xa7239a')
{'G1': '0x1a', 'G2': '0x4', 'G3': '0x23', 'G4': '0x6', 'G5': '0x29'}
>>> main('0x89c8ca')
{'G1': '0xa', 'G2': '0x6', 'G3': '0x48', 'G4': '0x3', 'G5': '0x22'}
>>> main('0x5ac376')
{'G1': '0x16', 'G2': '0x3', 'G3': '0x43', 'G4': '0x5', 'G5': '0x16'}
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Целое.Тесты:
>>> main([('Q1', '0x2'), ('Q2', '0x5a'), ('Q3', '0x6')])
13730
>>> main([('Q1', '0xe'), ('Q2', '0x6'), ('Q3', '0xa')])
20590
>>> main([('Q1', '0x4'), ('Q2', '0x47'), ('Q3', '0x38')])
115828
>>> main([('Q1', '0x8'), ('Q2', '0x42'), ('Q3', '0x3f')])
130088
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('0x31711e27')
'0x3171e3c4'
>>> main('0x4b7cb2f2')
'0x4b7c565e'
>>> main('0x6a32f46d')
'0x6a339e8d'
>>> main('0x62d24fc1')
'0x62d309f8'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('220660')
[('U2', '0'), ('U3', '215'), ('U4', '0')]
>>> main('293794')
[('U2', '1'), ('U3', '30'), ('U4', '1')]
>>> main('1658753')
[('U2', '1'), ('U3', '83'), ('U4', '6')]
>>> main('182909')
[('U2', '1'), ('U3', '178'), ('U4', '0')]
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Целое.
Тесты:
>>> main('254616072453')
77584061244
>>> main('29193882474')
215664920018
>>> main('35864916545')
95094451660
>>> main('185370867848')
43092999614
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Целое.
Тесты:
>>> main('65201563474')
64485037056
>>> main('127734232200')
127622144000
>>> main('54335436111')
54020122624
>>> main('68018253391')
67926068224
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('0x245101')
[('W1', 1), ('W3', 145), ('W4', 0), ('W5', 0), ('W6', 0)]
>>> main('0x741d9e2')
[('W1', 34), ('W3', 7), ('W4', 1), ('W5', 1), ('W6', 3)]
>>> main('0x6246c24')
[('W1', 36), ('W3', 145), ('W4', 0), ('W5', 0), ('W6', 3)]
>>> main('0x9e41d7d')
[('W1', 61), ('W3', 144), ('W4', 3), ('W5', 1), ('W6', 4)]
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Тесты:
>>> main(15154656306)
(50, 80, 13, 233, 112)
>>> main(1639060606)
(62, 81, 16, 54, 12)
>>> main(2632363110)
(38, 49, 53, 156, 19)
>>> main(16926880498)
(50, 75, 29, 29, 126)
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('0xe2cc4')
[('I1', '196'), ('I2', '11'), ('I3', '28')]
>>> main('0x1d3855')
[('I1', '85'), ('I2', '14'), ('I3', '58')]
>>> main('0x4e86c')
[('I1', '108'), ('I2', '26'), ('I3', '9')]
>>> main('0x10b23d')
[('I1', '573'), ('I2', '12'), ('I3', '33')]
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('9555615')
[('N1', '0x3'), ('N2', '0x3a7'), ('N3', '0xc'), ('N4', '0x1'), ('N5', '0x48')]
>>> main('2182779')
[('N1', '0x3'), ('N2', '0x39e'), ('N3', '0x4'), ('N4', '0x1'), ('N5', '0x10')]
>>> main('9984984')
[('N1', '0x0'), ('N2', '0x2f6'), ('N3', '0x5'), ('N4', '0x0'), ('N5', '0x4c')]
>>> main('4908106')
[('N1', '0x2'), ('N2', '0x112'), ('N3', '0xe'), ('N4', '0x0'), ('N5', '0x25')]
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('6694729')
[('U1', '329'), ('U2', '3'), ('U3', '196'), ('U4', '3')]
>>> main('402443')
[('U1', '11'), ('U2', '2'), ('U3', '196'), ('U4', '0')]
>>> main('7116426')
[('U1', '138'), ('U2', '3'), ('U3', '402'), ('U4', '3')]
>>> main('2397183')
[('U1', '511'), ('U2', '1'), ('U3', '146'), ('U4', '1')]
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('0x6f5ece')
[('P1', '0x4e'), ('P2', '0x2bd'), ('P3', '0x37')]
>>> main('0x78af77')
[('P1', '0x77'), ('P2', '0x15e'), ('P3', '0x3c')]
>>> main('0x62b222')
[('P1', '0x22'), ('P2', '0x164'), ('P3', '0x31')]
>>> main('0x252b10')
[('P1', '0x10'), ('P2', '0x256'), ('P3', '0x12')]
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('267682080')
'0x190ff10'
>>> main('210818500')
'0x1518c962'
>>> main('502218709')
'0x1fe7deea'
>>> main('523719184')
'0x12e9f308'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('0x508f0fc2')
{'Z1': '194', 'Z2': '7', 'Z3': '97', 'Z4': '3', 'Z6': '40'}
>>> main('0x6e48661f')
{'Z1': '31', 'Z2': '6', 'Z3': '12', 'Z4': '2', 'Z6': '55'}
>>> main('0x58955794')
{'Z1': '148', 'Z2': '7', 'Z3': '42', 'Z4': '5', 'Z6': '44'}
>>> main('0xefe5a69')
{'Z1': '105', 'Z2': '2', 'Z3': '75', 'Z4': '7', 'Z6': '7'}
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('1047476')
[('J1', '0x4'), ('J3', '0xb'), ('J4', '0x7'), ('J5', '0x3'), ('J6', '0x7')]
>>> main('2084387')
[('J1', '0x3'), ('J3', '0xe'), ('J4', '0x4'), ('J5', '0x3'), ('J6', '0xf')]
>>> main('42872')
[('J1', '0x0'), ('J3', '0x7'), ('J4', '0x2'), ('J5', '0x1'), ('J6', '0x0')]
>>> main('1853726')
[('J1', '0x6'), ('J3', '0x9'), ('J4', '0x4'), ('J5', '0x0'), ('J6', '0xe')]
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Целое.Тесты:
>>> main({'X1': '22', 'X2': '200', 'X3': '48', 'X4': '9', 'X5': '13', 'X6': '26'})
28363731478
>>> main({'X1': '3', 'X2': '97', 'X3': '6', 'X4': '23', 'X5': '15', 'X6': '24'})
26297342019
>>> main({'X1': '38', 'X2': '33', 'X3': '37', 'X4': '11', 'X5': '3', 'X6': '21'})
22661384294
>>> main({'X1': '2', 'X2': '36', 'X3': '54', 'X4': '10', 'X5': '6', 'X6': '7'})
7728892162
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main(('151', '25', '3', '39'))
'0x4fe497'
>>> main(('879', '23', '0', '148'))
'0x1285f6f'
>>> main(('670', '18', '2', '245'))
'0x1eb4a9e'
>>> main(('63', '14', '0', '12'))
'0x18383f'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('0x7cb585')
{'X1': 5, 'X2': 44, 'X3': 11, 'X4': 31}
>>> main('0x3e3e87')
{'X1': 7, 'X2': 116, 'X3': 35, 'X4': 15}
>>> main('0x426abc')
{'X1': 28, 'X2': 85, 'X3': 38, 'X4': 16}
>>> main('0x32df3c')
{'X1': 28, 'X2': 121, 'X3': 45, 'X4': 12}
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Целое.Тесты:
>>> main({'P1': '135', 'P2': '60', 'P3': '7', 'P4': '0', 'P5': '0', 'P6': '0'})
474247
>>> main({'P1': '156', 'P2': '228', 'P3': '9', 'P4': '0', 'P5': '1', 'P6': '11'})
97117340
>>> main({'P1': '115', 'P2': '176', 'P3': '21', 'P4': '0', 'P5': '0', 'P6': '4'})
34975859
>>> main({'P1': '201', 'P2': '45', 'P3': '15', 'P4': '1', 'P5': '0', 'P6': '9'})
78589385
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('2173838002')
('0xb2', '0x2', '0xc9', '0x0', '0x8')
>>> main('1966425796')
('0xc4', '0x6', '0x9a', '0x1', '0x7')
>>> main('3972813941')
('0x75', '0x4', '0x66', '0x3', '0xe')
>>> main('3587250598')
('0xa6', '0x1', '0xe8', '0x1', '0xd')
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('0x2f0255')
'2076992'
>>> main('0x26e917')
'862714'
>>> main('0x2c4275')
'1700176'
>>> main('0x18221c')
'3158792'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('0x54e086abb4')
[('R1', '0x1b4'), ('R2', '0x355'), ('R3', '0x10'), ('R4', '0x18'), ('R5', '0xa9')]
>>> main('0x837908f59a')
[('R1', '0x19a'), ('R2', '0x7a'), ('R3', '0x21'), ('R4', '0x1e'), ('R5', '0x106')]
>>> main('0x85544d0b1')
[('R1', '0xb1'), ('R2', '0x268'), ('R3', '0x28'), ('R4', '0x15'), ('R5', '0x10')]
>>> main('0x9854179aa7')
[('R1', '0xa7'), ('R2', '0x3cd'), ('R3', '0x2'), ('R4', '0x15'), ('R5', '0x130')]
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('586017777239')
'290093901400'
>>> main('564986888739')
'121407783668'
>>> main('123953769559')
'991246183694'
>>> main('1095044817639')
'1063490544497'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('500897')
'0xe0a49'
>>> main('287185')
'0x11d49'
>>> main('85118')
'0x50786'
>>> main('766928')
'0xe1d70'