Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Десятичная строка.
Тесты:
>>> main(2256553)
'2238941'
>>> main(1057482)
'1067589'
>>> main(2602345)
'2615658'
>>> main(2626258)
'2642469'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('T1', 39), ('T2', 14), ('T3', 7), ('T4', 314)])
'2580391'
>>> main([('T1', 46), ('T2', 7), ('T3', 3), ('T4', 446)])
'3657198'
>>> main([('T1', 11), ('T2', 0), ('T3', 5), ('T4', 477)])
'3912715'
>>> main([('T1', 35), ('T2', 0), ('T3', 1), ('T4', 419)])
'3433507'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Целое.Тесты:
>>> main(('9', '4', '914', '32'))
68981257
>>> main(('17', '15', '973', '22'))
48131985
>>> main(('127', '4', '561', '25'))
53578367
>>> main(('127', '15', '780', '4'))
9988095
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('0x5f438637')
[('U1', '0x3'), ('U2', '0xd'), ('U3', '0x6'), ('U4', '0x70'), ('U5', '0x2fa')]
>>> main('0x869b36c')
[('U1', '0x0'), ('U2', '0x1b'), ('U3', '0x3'), ('U4', '0x136'), ('U5', '0x43')]
>>> main('0x65b03d17')
[('U1', '0x3'), ('U2', '0x5'), ('U3', '0x5'), ('U4', '0x207'), ('U5', '0x32d')]
>>> main('0x4a58991b')
[('U1', '0x3'), ('U2', '0x6'), ('U3', '0x1'), ('U4', '0x313'), ('U5', '0x252')]
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('0x3e9560057')
'0x2b3f4057'
>>> main('0x2daa8a944')
'0x5456e944'
>>> main('0x14e295bfe')
'0x14ca5bfe'
>>> main('0x195e5e30e')
'0x72aca30e'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Тесты:
>>> main(5184)
{'Q1': 0, 'Q2': 162, 'Q3': 0}
>>> main(5873)
{'Q1': 17, 'Q2': 183, 'Q3': 0}
>>> main(9279)
{'Q1': 31, 'Q2': 33, 'Q3': 1}
>>> main(10253)
{'Q1': 13, 'Q2': 64, 'Q3': 1}
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('1143160359')
(39, 31, 0, 35, 272)
>>> main('658707182')
(238, 9, 0, 3, 157)
>>> main('3299093137')
(145, 21, 0, 36, 786)
>>> main('301722718')
(94, 22, 3, 59, 71)
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main(75735318)
{'C1': '22', 'C2': '8', 'C3': '0', 'C4': '1', 'C5': '14', 'C6': '72'}
>>> main(519076649)
{'C1': '9', 'C2': '25', 'C3': '3', 'C4': '1', 'C5': '1', 'C6': '495'}
>>> main(718708478)
{'C1': '30', 'C2': '55', 'C3': '3', 'C4': '0', 'C5': '26', 'C6': '685'}
>>> main(738243764)
{'C1': '20', 'C2': '37', 'C3': '2', 'C4': '1', 'C5': '2', 'C6': '704'}
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Тесты:
>>> main(13038725322027)
[('K1', 299), ('K2', 213), ('K3', 37), ('K5', 91), ('K6', 23)]
>>> main(10013419662744)
[('K1', 408), ('K2', 155), ('K3', 916), ('K5', 27), ('K6', 18)]
>>> main(9809698700329)
[('K1', 41), ('K2', 207), ('K3', 998), ('K5', 107), ('K6', 17)]
>>> main(12935485772428)
[('K1', 652), ('K2', 52), ('K3', 450), ('K5', 67), ('K6', 23)]
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Целое.
Тесты:
>>> main('0x14eff8')
1509247
>>> main('0x37fdb6')
3596269
>>> main('0x8e0f0a')
9261176
>>> main('0x207bf9')
2302943
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main(('108', '3', '13', '26'))
'0xd1bec'
>>> main(('103', '2', '5', '61'))
'0x1e8b67'
>>> main(('9', '2', '55', '34'))
'0x116f09'
>>> main(('113', '3', '57', '57'))
'0x1cf3f1'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('0x4f6a6')
{'E1': '0x6', 'E2': '0x2', 'E3': '0x3da', 'E4': '0x4'}
>>> main('0x68b00')
{'E1': '0x0', 'E2': '0x0', 'E3': '0x22c', 'E4': '0x6'}
>>> main('0x69abe')
{'E1': '0xe', 'E2': '0x3', 'E3': '0x26a', 'E4': '0x6'}
>>> main('0x369d6')
{'E1': '0x6', 'E2': '0x1', 'E3': '0x1a7', 'E4': '0x3'}
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('2017111868')
[('A1', '0x3c'), ('A2', '0xaf'), ('A4', '0x3'), ('A5', '0x78')]
>>> main('1930392019')
[('A1', '0xd3'), ('A2', '0x171'), ('A4', '0x0'), ('A5', '0x73')]
>>> main('893667781')
[('A1', '0xc5'), ('A2', '0x49'), ('A4', '0x4'), ('A5', '0x35')]
>>> main('942279034')
[('A1', '0x7a'), ('A2', '0x9'), ('A4', '0x2'), ('A5', '0x38')]
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Целое.Тесты:
>>> main([('R1', '0'), ('R2', '59'), ('R4', '70')])
573912
>>> main([('R1', '1'), ('R2', '0'), ('R4', '437')])
3579905
>>> main([('R1', '3'), ('R2', '3'), ('R4', '876')])
7176219
>>> main([('R1', '5'), ('R2', '61'), ('R4', '723')])
5923309
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('Q1', 59), ('Q2', 3), ('Q3', 486), ('Q4', 135)])
'570212603'
>>> main([('Q1', 22), ('Q2', 64), ('Q3', 348), ('Q4', 352)])
'1479249942'
>>> main([('Q1', 24), ('Q2', 13), ('Q3', 307), ('Q4', 402)])
'1688626008'
>>> main([('Q1', 48), ('Q2', 16), ('Q3', 412), ('Q4', 418)])
'1756595248'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Выходные данные:
Целое.Тесты:
>>> main((238, 94, 1, 49, 319))
21459263214
>>> main((131, 40, 6, 28, 227))
15263869059
>>> main((180, 474, 1, 23, 299))
20089920180
>>> main((100, 250, 4, 51, 53))
3610835556
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Выходные данные:
Целое.Тесты:
>>> main({'I1': 0, 'I2': 29, 'I3': 12, 'I4': 15, 'I5': 5})
98106
>>> main({'I1': 1, 'I2': 1, 'I3': 2, 'I4': 2, 'I5': 1})
18563
>>> main({'I1': 0, 'I2': 4, 'I3': 12, 'I4': 14, 'I5': 5})
97032
>>> main({'I1': 1, 'I2': 21, 'I3': 14, 'I4': 12, 'I5': 1})
29611
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Целое.Тесты:
>>> main(('7', '0', '11', '1'))
44039
>>> main(('1', '1', '7', '0'))
7177
>>> main(('7', '1', '11', '0'))
11279
>>> main(('2', '1', '14', '0'))
14346
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.
Выходные данные:
Десятичная строка.
Тесты:
>>> main(36552)
'17934'
>>> main(57899)
'61442'
>>> main(36275)
'50205'
>>> main(35918)
'16908'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Целое.Тесты:
>>> main([('S2', 82), ('S3', 1), ('S4', 203), ('S5', 18), ('S6', 0)])
1261389824
>>> main([('S2', 121), ('S3', 0), ('S4', 244), ('S5', 2), ('S6', 2)])
4493272064
>>> main([('S2', 58), ('S3', 0), ('S4', 97), ('S5', 19), ('S6', 0)])
1300555776
>>> main([('S2', 30), ('S3', 0), ('S4', 143), ('S5', 1), ('S6', 3)])
6547077120
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('898800735')
'798673491'
>>> main('3569496042')
'4117392453'
>>> main('106746716')
'2919442330'
>>> main('1129483044')
'2451678801'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Тесты:
>>> main(177251595480)
(88, 105, 2, 162, 10)
>>> main(47066973613)
(45, 11, 4, 378, 2)
>>> main(271973585704)
(40, 38, 14, 425, 15)
>>> main(190050055924)
(116, 109, 6, 31, 11)
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('3411407')
'0x1f4241b'
>>> main('16681687')
'0x1fee915'
>>> main('16493554')
'0xbafb57'
>>> main('26011481')
'0x4dadce'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Целое.Тесты:
>>> main(('0xd', '0x156', '0x1', '0x4'))
1267213
>>> main(('0x2e', '0xf8', '0x0', '0x7'))
1898542
>>> main(('0x52', '0x49', '0x0', '0x0'))
18770
>>> main(('0x9c', '0x56', '0x0', '0x4'))
1070748
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('0xef4d')
[('O1', '0xd'), ('O2', '0xd'), ('O3', '0x3'), ('O4', '0x7')]
>>> main('0x4afb')
[('O1', '0x3b'), ('O2', '0xb'), ('O3', '0x2'), ('O4', '0x2')]
>>> main('0x5ba5')
[('O1', '0x25'), ('O2', '0xe'), ('O3', '0x6'), ('O4', '0x2')]
>>> main('0x8a4f')
[('O1', '0xf'), ('O2', '0x9'), ('O3', '0x2'), ('O4', '0x4')]
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main({'F1': 22, 'F2': 172, 'F4': 900, 'F5': 0, 'F6': 3})
'0x61c202b16'
>>> main({'F1': 47, 'F2': 95, 'F4': 466, 'F5': 4, 'F6': 2})
'0x48e9017ef'
>>> main({'F1': 54, 'F2': 83, 'F4': 654, 'F5': 6, 'F6': 3})
'0x6d47014f6'
>>> main({'F1': 10, 'F2': 53, 'F4': 166, 'F5': 4, 'F6': 3})
'0x685300d4a'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('0x510c4f6b2')
{'T1': '0x12', 'T3': '0x7', 'T4': '0x62', 'T5': '0x88', 'T6': '0x2'}
>>> main('0xf667d4b83b')
{'T1': '0x1b', 'T3': '0x5', 'T4': '0xea', 'T5': '0x33', 'T6': '0x7b'}
>>> main('0xdf73639d0f')
{'T1': '0xf', 'T3': '0xc', 'T4': '0xb1', 'T5': '0xb9', 'T6': '0x6f'}
>>> main('0xcc51120698')
{'T1': '0x18', 'T3': '0x0', 'T4': '0x89', 'T5': '0x28', 'T6': '0x66'}
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main(250845388)
{'N1': '0x4c', 'N3': '0x79', 'N4': '0xe'}
>>> main(328342553)
{'N1': '0x19', 'N3': '0x49', 'N4': '0x13'}
>>> main(113187316)
{'N1': '0x74', 'N3': '0x5f', 'N4': '0x6'}
>>> main(108592979)
{'N1': '0x53', 'N3': '0x3c', 'N4': '0x6'}
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('0x2f0c2de')
{'V1': 222, 'V2': 194, 'V3': 0, 'V4': 94, 'V5': 0}
>>> main('0x990ee6d')
{'V1': 109, 'V2': 238, 'V3': 0, 'V4': 50, 'V5': 1}
>>> main('0x5e71916')
{'V1': 22, 'V2': 25, 'V3': 7, 'V4': 188, 'V5': 0}
>>> main('0xb232b42')
{'V1': 66, 'V2': 43, 'V3': 3, 'V4': 100, 'V5': 1}
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main([('J1', '7'), ('J2', '304'), ('J3', '30'), ('J4', '25'), ('J5', '291')])
'0x123cbd307'
>>> main([('J1', '3'), ('J2', '398'), ('J3', '11'), ('J4', '2'), ('J5', '1017')])
'0x3f91178e3'
>>> main([('J1', '14'), ('J2', '484'), ('J3', '22'), ('J4', '22'), ('J5', '767')])
'0x2ffb2de4e'
>>> main([('J1', '13'), ('J2', '221'), ('J3', '6'), ('J4', '0'), ('J5', '196')])
'0xc400cddd'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('15396020')
{'J1': '20', 'J3': '0', 'J4': '23', 'J5': '29'}
>>> main('2359239')
{'J1': '7', 'J3': '1', 'J4': '31', 'J5': '4'}
>>> main('4091840')
{'J1': '0', 'J3': '0', 'J4': '51', 'J5': '7'}
>>> main('10514544')
{'J1': '16', 'J3': '1', 'J4': '3', 'J5': '20'}
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main([('S1', '0x53'), ('S2', '0xa2'), ('S3', '0xe4'), ('S4', '0x17c'), ('S5', '0x0'), ('S6', '0x4d')])
'0x26af8725153'
>>> main([('S1', '0x47'), ('S2', '0x19'), ('S3', '0x1eb'), ('S4', '0x1a3'), ('S5', '0x1'), ('S6', '0x45')])
'0x22f46f58cc7'
>>> main([('S1', '0xc'), ('S2', '0xd9'), ('S3', '0x276'), ('S4', '0x10a'), ('S5', '0x0'), ('S6', '0x49')])
'0x24a153b6c8c'
>>> main([('S1', '0x8'), ('S2', '0xfd'), ('S3', '0x249'), ('S4', '0x3e'), ('S5', '0x0'), ('S6', '0x73')])
'0x3987d24fe88'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('P2', 1), ('P3', 1), ('P4', 1), ('P5', 3)])
'53632'
>>> main([('P2', 1), ('P3', 10), ('P4', 2), ('P5', 7)])
'125568'
>>> main([('P2', 1), ('P3', 10), ('P4', 3), ('P5', 4)])
'80512'
>>> main([('P2', 0), ('P3', 11), ('P4', 2), ('P5', 10)])
'174848'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.
Выходные данные:
Целое.
Тесты:
>>> main('506820')
386028
>>> main('109077')
329837
>>> main('112712')
271976
>>> main('357004')
83804
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.
Выходные данные:
Целое.
Тесты:
>>> main(24578259)
16786852
>>> main(9742882)
8393798
>>> main(4143721)
15570
>>> main(5745297)
13602
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('104025')
'16409'
>>> main('539692')
'196611'
>>> main('519664')
'786462'
>>> main('911813')
'737310'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main({'E1': '0x1', 'E2': '0x4', 'E3': '0x7a', 'E4': '0xba', 'E5': '0x8', 'E6': '0xf5'})
'0xf58ba1ea1'
>>> main({'E1': '0x6', 'E2': '0x5', 'E3': '0x13a', 'E4': '0x38', 'E5': '0x3', 'E6': '0x63'})
'0x633384eae'
>>> main({'E1': '0x2', 'E2': '0x3', 'E3': '0x259', 'E4': '0x9c', 'E5': '0x5', 'E6': '0x57'})
'0x5759c965a'
>>> main({'E1': '0x3', 'E2': '0x4', 'E3': '0x1da', 'E4': '0x95', 'E5': '0x2', 'E6': '0x23'})
'0x2329576a3'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main(402074)
'0x620da'
>>> main(112455)
'0x1b63d'
>>> main(372023)
'0x5afb4'
>>> main(341659)
'0x536da'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main(5553161338)
[('E1', '0x1a'), ('E2', '0x23'), ('E3', '0x3d0'), ('E4', '0x17'), ('E5', '0x1'), ('E6', '0x5')]
>>> main(2550839427)
[('E1', '0x3'), ('E2', '0x4'), ('E3', '0x157'), ('E4', '0x0'), ('E5', '0x3'), ('E6', '0x2')]
>>> main(15946280505)
[('E1', '0x19'), ('E2', '0x31'), ('E3', '0x31d'), ('E4', '0x33'), ('E5', '0x6'), ('E6', '0xe')]
>>> main(12118943438)
[('E1', '0xe'), ('E2', '0x36'), ('E3', '0x30c'), ('E4', '0x12'), ('E5', '0x2'), ('E6', '0xb')]
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('58637090')
(2, 200, 7, 13, 13)
>>> main('46726397')
(1, 319, 15, 1, 11)
>>> main('56206102')
(2, 197, 4, 3, 13)
>>> main('36766404')
(0, 177, 0, 2, 8)