Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Целое.
Тесты:
>>> main('0x96f71')
64772240
>>> main('0x308921')
38298368
>>> main('0x27e79d')
31947376
>>> main('0x343017')
380736
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Целое.
Тесты:
>>> main(973487495)
242272184
>>> main(2540240788)
690823165
>>> main(2229508939)
2534175587
>>> main(3216430270)
2105465502
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.
Выходные данные:
Целое.
Тесты:
>>> main('20702361603')
82938181584
>>> main('23998286184')
96042650016
>>> main('66137523814')
127110899817
>>> main('27568196353')
110137187524
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('0x17ee2505')
'0x17e0af12'
>>> main('0x173a850f')
'0x1731ed42'
>>> main('0x15f6b4dd')
'0x15fbab59'
>>> main('0x14766708')
'0x14710b36'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('Y1', 245), ('Y2', 6), ('Y3', 0), ('Y4', 8), ('Y5', 38), ('Y6', 1)])
'26806005'
>>> main([('Y1', 83), ('Y2', 2), ('Y3', 1), ('Y4', 28), ('Y5', 12), ('Y6', 0)])
'3377747'
>>> main([('Y1', 158), ('Y2', 7), ('Y3', 1), ('Y4', 1), ('Y5', 22), ('Y6', 0)])
'5779358'
>>> main([('Y1', 251), ('Y2', 4), ('Y3', 3), ('Y4', 7), ('Y5', 53), ('Y6', 1)])
'30735611'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Целое.
Тесты:
>>> main('148539')
97026051
>>> main('18030')
117997606
>>> main('109228')
104136746
>>> main('241802')
91619336
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main(2303985)
'0x11f2711'
>>> main(3371885)
'0x197730d'
>>> main(1463033)
'0xbe5219'
>>> main(3782177)
'0x1c3b601'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('0x10d61c')
'0x21c', '0x15', '0x1', '0x8')
(
>>> main('0xd3d96')
'0x196', '0xf', '0x2', '0x6')
(
>>> main('0x198625')
'0x225', '0x1', '0x3', '0xc')
(
>>> main('0x4ab7d')
'0x37d', '0xa', '0x1', '0x2') (
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('0x8c9836f')
'N1', '47'), ('N2', '13'), ('N3', '8'), ('N4', '9'), ('N5', '2'), ('N6', '17')]
[(
>>> main('0x66fd28')
'N1', '40'), ('N2', '52'), ('N3', '15'), ('N4', '6'), ('N5', '3'), ('N6', '0')]
[(
>>> main('0x840abd3')
'N1', '19'), ('N2', '47'), ('N3', '10'), ('N4', '0'), ('N5', '2'), ('N6', '16')]
[(
>>> main('0x849a6')
'N1', '38'), ('N2', '38'), ('N3', '4'), ('N4', '8'), ('N5', '0'), ('N6', '0')] [(
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main(('0x1', '0xe', '0x8e', '0x37', '0x5', '0x3'))
'0x777471d'
>>> main(('0x0', '0x3', '0xa6', '0x22', '0x3', '0x0'))
'0xe25306'
>>> main(('0x1', '0x26', '0xde', '0x28', '0x2', '0x2'))
'0x4a86f4d'
>>> main(('0x0', '0x26', '0x34', '0x35', '0x1', '0x2'))
'0x4751a4c'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('244772')
'0x24ef'
>>> main('102006')
'0x27663'
>>> main('210573')
'0x28dcd'
>>> main('189452')
'0xcb9'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('U1', '0x0'), ('U2', '0x392'), ('U3', '0x2a0'), ('U4', '0xc'), ('U5', '0x0'), ('U6', '0x1a3')])
'56263771940'
>>> main([('U1', '0x0'), ('U2', '0x26b'), ('U3', '0x14b'), ('U4', '0xa'), ('U5', '0x0'), ('U6', '0x36a')])
'117327944918'
>>> main([('U1', '0x1'), ('U2', '0x89'), ('U3', '0x158'), ('U4', '0x1e'), ('U5', '0x0'), ('U6', '0x1c0')])
'60193161491'
>>> main([('U1', '0x1'), ('U2', '0x260'), ('U3', '0x166'), ('U4', '0xc'), ('U5', '0x0'), ('U6', '0x6b')])
'14387197121'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Целое.Тесты:
>>> main([('G1', '0'), ('G2', '32'), ('G3', '1'), ('G4', '3')])
3712
>>> main([('G1', '0'), ('G2', '87'), ('G3', '1'), ('G4', '2')])
2908
>>> main([('G1', '2'), ('G2', '18'), ('G3', '0'), ('G4', '3')])
3146
>>> main([('G1', '1'), ('G2', '93'), ('G3', '1'), ('G4', '0')])
885
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main(('36', '11', '12', '1', '126'))
'0xfc99720'
>>> main(('14', '1', '34', '2', '75'))
'0x9744270'
>>> main(('14', '8', '25', '1', '114'))
'0xe4b3070'
>>> main(('4', '14', '53', '3', '60'))
'0x79ebc20'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('7993791')
'Y1', '191'), ('Y2', '1'), ('Y3', '4'), ('Y4', '31'), ('Y5', '15')]
[(
>>> main('3519470')
'Y1', '238'), ('Y2', '1'), ('Y3', '1'), ('Y4', '91'), ('Y5', '6')]
[(
>>> main('21471859')
'Y1', '115'), ('Y2', '0'), ('Y3', '1'), ('Y4', '122'), ('Y5', '40')]
[(
>>> main('2875188')
'Y1', '52'), ('Y2', '1'), ('Y3', '7'), ('Y4', '61'), ('Y5', '5')] [(
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('0x47ff47')
'6874111'
>>> main('0x24a38a')
'3232337'
>>> main('0x1641b78')
'24056333'
>>> main('0x2981a8')
'3478720'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('137')
'F1': '0x1', 'F2': '0x4', 'F3': '0x4'}
{
>>> main('187')
'F1': '0x1', 'F2': '0xd', 'F3': '0x5'}
{
>>> main('153')
'F1': '0x1', 'F2': '0xc', 'F3': '0x4'}
{
>>> main('58')
'F1': '0x0', 'F2': '0xd', 'F3': '0x1'} {
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Десятичная строка.
Тесты:
>>> main(1591003)
'814918'
>>> main(1830654)
'1965038'
>>> main(428617)
'1254666'
>>> main(203293)
'128026'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('A1', 0), ('A2', 601), ('A4', 55), ('A5', 61)])
'8302625970'
>>> main([('A1', 1), ('A2', 376), ('A4', 45), ('A5', 112)])
'15126758129'
>>> main([('A1', 0), ('A2', 905), ('A4', 16), ('A5', 101)])
'13589546770'
>>> main([('A1', 0), ('A2', 29), ('A4', 21), ('A5', 87)])
'11720982586'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main(8968145)
'Z2', '0x0'), ('Z3', '0xd'), ('Z4', '0x17'), ('Z5', '0x223')]
[(
>>> main(68530)
'Z2', '0x0'), ('Z3', '0xb'), ('Z4', '0xb'), ('Z5', '0x4')]
[(
>>> main(11324228)
'Z2', '0x1'), ('Z3', '0x4'), ('Z4', '0xb'), ('Z5', '0x2b3')]
[(
>>> main(4966526)
'Z2', '0x3'), ('Z3', '0x7'), ('Z4', '0x8'), ('Z5', '0x12f')] [(
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main(809872)
'0xe41b1'
>>> main(543539)
'0xccca1'
>>> main(753419)
'0xc2fed'
>>> main(1002586)
'0x168fd'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('0x1c87241')
'4456676'
>>> main('0x799aa2')
'25690172'
>>> main('0x144475')
'5505034'
>>> main('0x19552e9')
'23331018'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main(('0x15', '0x2', '0x5', '0xf'))
'8063680533'
>>> main(('0x30', '0x2', '0x57', '0xc'))
'6625034288'
>>> main(('0x3c', '0x16', '0xca', '0x8'))
'4720033852'
>>> main(('0x2e', '0x4', '0x7d', '0xa'))
'5631115310'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Целое.Тесты:
>>> main([('O1', '4'), ('O3', '858'), ('O4', '22'), ('O5', '869'), ('O6', '1')])
127084974084
>>> main([('O1', '29'), ('O3', '78'), ('O4', '30'), ('O5', '278'), ('O6', '0')])
18719338525
>>> main([('O1', '22'), ('O3', '295'), ('O4', '0'), ('O5', '250'), ('O6', '1')])
85497296918
>>> main([('O1', '22'), ('O3', '563'), ('O4', '1'), ('O5', '9'), ('O6', '0')])
607229974
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main([('U1', 31), ('U2', 0), ('U3', 7), ('U5', 189), ('U6', 5)])
'0x2de9c1f'
>>> main([('U1', 3), ('U2', 0), ('U3', 10), ('U5', 138), ('U6', 7)])
'0x3c52803'
>>> main([('U1', 128), ('U2', 0), ('U3', 12), ('U5', 26), ('U6', 4)])
'0x20d3080'
>>> main([('U1', 120), ('U2', 1), ('U3', 11), ('U5', 157), ('U6', 15)])
'0x7ceae78'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('38418169')
'V1': '0x79', 'V2': '0x1', 'V3': '0x0', 'V4': '0x1', 'V5': '0x8d', 'V6': '0x49'}
{
>>> main('4336171')
'V1': '0x2b', 'V2': '0x0', 'V3': '0x0', 'V4': '0x1', 'V5': '0x8a', 'V6': '0x8'}
{
>>> main('59753063')
'V1': '0x67', 'V2': '0x0', 'V3': '0x0', 'V4': '0x1', 'V5': '0x1f0', 'V6': '0x71'}
{
>>> main('47457205')
'V1': '0x35', 'V2': '0x1', 'V3': '0x1', 'V4': '0x1', 'V5': '0x108', 'V6': '0x5a'} {
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Целое.Тесты:
>>> main([('V1', 0), ('V2', 0), ('V3', 16), ('V4', 21)])
689152
>>> main([('V1', 5), ('V2', 0), ('V3', 458), ('V4', 43)])
1438341
>>> main([('V1', 7), ('V2', 1), ('V3', 509), ('V4', 53)])
1769303
>>> main([('V1', 9), ('V2', 0), ('V3', 428), ('V4', 29)])
977673
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.
Выходные данные:
Целое.
Тесты:
>>> main('32470437')
125643689
>>> main('28795391')
96467721
>>> main('27813943')
88193857
>>> main('122719224')
42452063
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('0x16a9073b')
11, 115, 36, 5, 22)
(
>>> main('0x10084dda')
10, 93, 33, 0, 16)
(
>>> main('0x5e8f65')
5, 118, 122, 2, 0)
(
>>> main('0x1573fc74')
4, 71, 79, 3, 21) (
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Целое.Тесты:
>>> main([('I1', 4), ('I2', 1), ('I3', 5), ('I4', 3), ('I5', 0)])
12644
>>> main([('I1', 18), ('I2', 0), ('I3', 13), ('I4', 0), ('I5', 0)])
850
>>> main([('I1', 12), ('I2', 1), ('I3', 15), ('I4', 2), ('I5', 0)])
9196
>>> main([('I1', 27), ('I2', 1), ('I3', 27), ('I4', 3), ('I5', 1)])
30459
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('17684')
'0x428a'
>>> main('29021')
'0x78ae'
>>> main('2177')
'0x2440'
>>> main('27506')
'0x55b9'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Выходные данные:
Целое.Тесты:
>>> main({'K1': 229, 'K2': 201, 'K3': 6, 'K5': 77})
661428315365
>>> main({'K1': 929, 'K2': 155, 'K3': 19, 'K5': 242})
2078774292385
>>> main({'K1': 358, 'K2': 117, 'K3': 7, 'K5': 168})
1443112801638
>>> main({'K1': 165, 'K2': 293, 'K3': 23, 'K5': 194})
1666459669669
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('N1', 982), ('N2', 1), ('N3', 267), ('N4', 41), ('N5', 0), ('N6', 82)])
'22055247830'
>>> main([('N1', 136), ('N2', 1), ('N3', 461), ('N4', 17), ('N5', 0), ('N6', 117)])
'31425719432'
>>> main([('N1', 926), ('N2', 1), ('N3', 468), ('N4', 9), ('N5', 3), ('N6', 376)])
'101143455646'
>>> main([('N1', 187), ('N2', 1), ('N3', 304), ('N4', 17), ('N5', 2), ('N6', 88)])
'23774987451'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('4090')
'P1': '0', 'P2': '29', 'P3': '31', 'P4': '1'}
{
>>> main('5720')
'P1': '0', 'P2': '12', 'P3': '25', 'P4': '2'}
{
>>> main('6074')
'P1': '0', 'P2': '29', 'P3': '30', 'P4': '2'}
{
>>> main('2332')
'P1': '0', 'P2': '14', 'P3': '4', 'P4': '1'} {
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('D2', '0x114'), ('D3', '0x2a'), ('D4', '0x14'), ('D5', '0x193'), ('D6', '0xb')])
'25056078221312'
>>> main([('D2', '0x6d'), ('D3', '0x1f'), ('D4', '0x3'), ('D5', '0x1fa'), ('D6', '0x3')])
'7683930436608'
>>> main([('D2', '0x163'), ('D3', '0x1f'), ('D4', '0xa'), ('D5', '0x20b'), ('D6', '0xf')])
'34109186739200'
>>> main([('D2', '0x234'), ('D3', '0xf'), ('D4', '0xb'), ('D5', '0x235'), ('D6', '0x0')])
'1214082764800'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('382689672993')
'I1', '801'), ('I3', '83'), ('I4', '80'), ('I5', '17'), ('I6', '44')]
[(
>>> main('326584229813')
'I1', '949'), ('I3', '63'), ('I4', '79'), ('I5', '0'), ('I6', '38')]
[(
>>> main('105822497218')
'I1', '450'), ('I3', '12'), ('I4', '28'), ('I5', '10'), ('I6', '12')]
[(
>>> main('306059594496')
'I1', '768'), ('I3', '75'), ('I4', '20'), ('I5', '20'), ('I6', '35')] [(
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('1979920960797')
'D1', '0x11d'), ('D2', '0x26'), ('D3', '0x3e'), ('D5', '0x1c')]
[(
>>> main('417151095275')
'D1', '0x1eb'), ('D2', '0x48'), ('D3', '0x12'), ('D5', '0x6')]
[(
>>> main('1746004685061')
'D1', '0x105'), ('D2', '0x98'), ('D3', '0xfe'), ('D5', '0x19')]
[(
>>> main('1177736638138')
'D1', '0xba'), ('D2', '0x77'), ('D3', '0x149'), ('D5', '0x11')] [(
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Целое.Тесты:
>>> main([('L1', '0x1b'), ('L2', '0x73'), ('L3', '0x17'), ('L4', '0x346')])
878804603
>>> main([('L1', '0x5'), ('L2', '0x75'), ('L3', '0x19'), ('L4', '0x1e8')])
511811237
>>> main([('L1', '0x11'), ('L2', '0x5'), ('L3', '0x73'), ('L4', '0x108')])
277295281
>>> main([('L1', '0x12'), ('L2', '0x7e'), ('L3', '0xde'), ('L4', '0x270')])
655224786
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Выходные данные:
Десятичная строка.Тесты:
>>> main((110, 43, 541, 2, 48))
'1631827438'
>>> main((119, 27, 626, 1, 58))
'1959677431'
>>> main((47, 8, 447, 0, 40))
'1345840175'
>>> main((112, 51, 77, 2, 24))
'822721008'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('0x5c1e4fd4')
'R1', '4'), ('R2', '2'), ('R3', '62'), ('R4', '201'), ('R5', '899'), ('R6', '2')]
[(
>>> main('0x5bce1ce1')
'R1', '1'), ('R2', '0'), ('R3', '39'), ('R4', '195'), ('R5', '889'), ('R6', '2')]
[(
>>> main('0xcf57765')
'R1', '5'), ('R2', '0'), ('R3', '59'), ('R4', '174'), ('R5', '414'), ('R6', '0')]
[(
>>> main('0x51b721c9')
'R1', '1'), ('R2', '1'), ('R3', '14'), ('R4', '228'), ('R5', '566'), ('R6', '2')] [(