Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main({'P1': '5', 'P2': '1', 'P3': '71', 'P4': '6', 'P5': '7'})
'0x734785'
>>> main({'P1': '81', 'P2': '0', 'P3': '90', 'P4': '15', 'P5': '1'})
'0x17da51'
>>> main({'P1': '0', 'P2': '0', 'P3': '115', 'P4': '1', 'P5': '7'})
'0x70f300'
>>> main({'P1': '35', 'P2': '0', 'P3': '28', 'P4': '13', 'P5': '0'})
'0x69c23'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.
Выходные данные:
Целое.
Тесты:
>>> main('1739144893')
3177018585
>>> main('979641504')
321470606
>>> main('2778720482')
1290915753
>>> main('465620800')
505316102
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('27743')
'30743'
>>> main('21624')
'5150'
>>> main('18739')
'28748'
>>> main('12066')
'18504'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('0x735b90')
'144', '1', '1', '107', '14')
(
>>> main('0x404a2e')
'46', '0', '1', '9', '8')
(
>>> main('0x6f8d34')
'52', '1', '2', '241', '13')
(
>>> main('0xd8da2')
'162', '1', '2', '177', '1') (
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('0x2690fc2c9')
'201', '97', '4', '1', '19')
(
>>> main('0x2715ea999')
'409', '84', '5', '2', '19')
(
>>> main('0x83fc2d9e4')
'484', '108', '31', '3', '65')
(
>>> main('0x98dbde5d1')
'465', '114', '22', '1', '76') (
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main(9712)
'0', '3', '3', '37')
(
>>> main(40969)
'9', '0', '0', '160')
(
>>> main(64160)
'0', '2', '2', '250')
(
>>> main(33021)
'13', '3', '3', '128') (
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Тесты:
>>> main(4806224)
345, 1, 4, 0, 1)
(
>>> main(9278646)
594, 1, 6, 0, 2)
(
>>> main(10893862)
232, 0, 3, 2, 2)
(
>>> main(9654455)
322, 1, 1, 1, 2) (
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main(16938)
'E1', '0x2'), ('E2', '0x8a'), ('E3', '0x0'), ('E4', '0x2')]
[(
>>> main(8749)
'E1', '0x1'), ('E2', '0x8b'), ('E3', '0x0'), ('E4', '0x1')]
[(
>>> main(7003)
'E1', '0x3'), ('E2', '0xd6'), ('E3', '0x6'), ('E4', '0x0')]
[(
>>> main(29229)
'E1', '0x1'), ('E2', '0x8b'), ('E3', '0x4'), ('E4', '0x3')] [(
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main({'X1': '0', 'X2': '296', 'X3': '243', 'X4': '1', 'X5': '828', 'X6': '232'})
'0x3a33cf9a50'
>>> main({'X1': '1', 'X2': '120', 'X3': '230', 'X4': '0', 'X5': '661', 'X6': '187'})
'0x2ee95730f1'
>>> main({'X1': '0', 'X2': '898', 'X3': '124', 'X4': '1', 'X5': '749', 'X6': '103'})
'0x19eedbe704'
>>> main({'X1': '0', 'X2': '647', 'X3': '143', 'X4': '1', 'X5': '83', 'X6': '168'})
'0x2a053c7d0e'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Выходные данные:
Десятичная строка.Тесты:
>>> main({'U1': 0, 'U2': 75, 'U3': 74, 'U4': 33})
'4401452'
>>> main({'U1': 0, 'U2': 254, 'U3': 85, 'U4': 325})
'42686456'
>>> main({'U1': 2, 'U2': 206, 'U3': 123, 'U4': 297})
'39055162'
>>> main({'U1': 2, 'U2': 84, 'U3': 74, 'U4': 369})
'48441682'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('0x4ba9640')
'L1', 576), ('L3', 1), ('L4', 58), ('L5', 1), ('L6', 1)]
[(
>>> main('0x4372e9e')
'L1', 670), ('L3', 0), ('L4', 55), ('L5', 0), ('L6', 1)]
[(
>>> main('0x5d96f54')
'L1', 852), ('L3', 0), ('L4', 89), ('L5', 3), ('L6', 1)]
[(
>>> main('0x6f5d6ca')
'L1', 714), ('L3', 1), ('L4', 117), ('L5', 5), ('L6', 1)] [(
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('0xf504ac')
'E1', '172'), ('E2', '1'), ('E4', '0')]
[(
>>> main('0x33e1807')
'E1', '7'), ('E2', '6'), ('E4', '1')]
[(
>>> main('0xa42e8')
'E1', '744'), ('E2', '16'), ('E4', '0')]
[(
>>> main('0x2ad4641')
'E1', '577'), ('E2', '17'), ('E4', '1')] [(
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('7365856')
'0x0', '0x38', '0x2', '0x3')
(
>>> main('3612160')
'0x0', '0x80', '0x2', '0x1')
(
>>> main('8715501')
'0x1', '0x3b', '0x0', '0x4')
(
>>> main('5079031')
'0x3', '0xfd', '0x1', '0x2') (
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main({'R1': '7', 'R2': '39', 'R3': '0'})
'631'
>>> main({'R1': '5', 'R2': '44', 'R3': '1'})
'1733'
>>> main({'R1': '9', 'R2': '54', 'R3': '1'})
'1897'
>>> main({'R1': '2', 'R2': '8', 'R3': '1'})
'1154'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main([('Y1', '0xe'), ('Y2', '0x2'), ('Y3', '0x0')])
'0x2e'
>>> main([('Y1', '0x7'), ('Y2', '0x1'), ('Y3', '0x1')])
'0x97'
>>> main([('Y1', '0xd'), ('Y2', '0x2'), ('Y3', '0x1')])
'0xad'
>>> main([('Y1', '0xc'), ('Y2', '0x2'), ('Y3', '0x0')])
'0x2c'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main(('0x67', '0x2', '0x1', '0x1a', '0x77'))
'0x3beb67'
>>> main(('0x3', '0x0', '0x0', '0xc', '0xc'))
'0x63003'
>>> main(('0x1f', '0x2', '0x0', '0x9', '0x1'))
'0xa51f'
>>> main(('0xe', '0x0', '0x0', '0x1e', '0x56'))
'0x2b780e'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('65544242747')
'0x170f42ba3b'
>>> main('81446145589')
'0x632f69235'
>>> main('58314000630')
'0x42d93c8f6'
>>> main('96383430983')
'0x19d670e147'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main(691310575)
'N1': '1007', 'N2': '35', 'N3': '13', 'N4': '164'}
{
>>> main(112128241)
'N1': '241', 'N2': '188', 'N3': '11', 'N4': '26'}
{
>>> main(237791787)
'N1': '555', 'N2': '26', 'N3': '11', 'N4': '56'}
{
>>> main(979425587)
'N1': '307', 'N2': '54', 'N3': '8', 'N4': '233'} {
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main(('0x1', '0x3', '0x3'))
'0xd81'
>>> main(('0x7', '0x6', '0xe'))
'0x3b07'
>>> main(('0x0', '0x3', '0xc'))
'0x3180'
>>> main(('0xf', '0x6', '0x9'))
'0x270f'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main(206222180)
'868', '172', '18', '6')
(
>>> main(237021943)
'759', '42', '8', '7')
(
>>> main(46025869)
'141', '147', '47', '1')
(
>>> main(253014341)
'325', '44', '69', '7') (
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main(393751321)
'H1': '0x9', 'H2': '0x11', 'H3': '0x15', 'H4': '0x6f', 'H5': '0x5'}
{
>>> main(17643884)
'H1': '0xc', 'H2': '0x16', 'H3': '0x29c', 'H4': '0x21', 'H5': '0x0'}
{
>>> main(343390860)
'H1': '0xc', 'H2': '0x8', 'H3': '0x3dd', 'H4': '0xe', 'H5': '0x5'}
{
>>> main(100992052)
'H1': '0x4', 'H2': '0x3', 'H3': '0x282', 'H4': '0x40', 'H5': '0x1'} {
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('0x6066b33')
'28110899'
>>> main('0x71b91a7')
'105298135'
>>> main('0x3f85925')
'23371717'
>>> main('0x3d9ea64')
'128556740'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('170881')
'1', '0', '0', '6', '13', '10')
(
>>> main('131300')
'0', '1', '1', '3', '0', '8')
(
>>> main('128767')
'3', '7', '1', '3', '27', '7')
(
>>> main('123982')
'2', '3', '0', '1', '18', '7') (
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main(471811064272)
'Z1', '16'), ('Z2', '14'), ('Z3', '12'), ('Z4', '136'), ('Z5', '27'), ('Z6', '109')]
[(
>>> main(354272609937)
'Z1', '17'), ('Z2', '52'), ('Z3', '24'), ('Z4', '274'), ('Z5', '15'), ('Z6', '82')]
[(
>>> main(435921715313)
'Z1', '17'), ('Z2', '3'), ('Z3', '12'), ('Z4', '445'), ('Z5', '15'), ('Z6', '101')]
[(
>>> main(432151179951)
'Z1', '15'), ('Z2', '149'), ('Z3', '29'), ('Z4', '397'), ('Z5', '19'), ('Z6', '100')] [(
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('0x7d9736')
'K1', 54), ('K2', 407), ('K4', 15)]
[(
>>> main('0x5f1aa6')
'K1', 166), ('K2', 282), ('K4', 11)]
[(
>>> main('0x679fa6')
'K1', 166), ('K2', 415), ('K4', 12)]
[(
>>> main('0x122295')
'K1', 149), ('K2', 34), ('K4', 2)] [(
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main(('0x1', '0x31d', '0xf', '0x6d'))
'0x6d7e3b'
>>> main(('0x0', '0x11c', '0xc', '0x64'))
'0x646238'
>>> main(('0x1', '0x1e0', '0x9', '0x71'))
'0x714bc1'
>>> main(('0x1', '0x51', '0x2', '0x63'))
'0x6310a3'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Целое.Тесты:
>>> main(('0x29', '0x5', '0x64', '0x3', '0x3', '0x1'))
50104873
>>> main(('0x19f', '0x5', '0x3e', '0x3', '0x6', '0x0'))
28822431
>>> main(('0xad', '0x7', '0x71', '0x1', '0x1', '0x3'))
106835629
>>> main(('0x110', '0xc', '0x66', '0x0', '0x5', '0x2'))
88922384
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main({'X1': '0x1e', 'X2': '0x63', 'X3': '0x3', 'X4': '0x2', 'X5': '0x82', 'X6': '0x6'})
'0x68246c7e'
>>> main({'X1': '0x0', 'X2': '0x52', 'X3': '0x3', 'X4': '0x7', 'X5': '0x61', 'X6': '0x6'})
'0x661e6a40'
>>> main({'X1': '0xd', 'X2': '0x7f', 'X3': '0x3', 'X4': '0x0', 'X5': '0xa5', 'X6': '0x4'})
'0x4a506fed'
>>> main({'X1': '0xa', 'X2': '0x49', 'X3': '0xa', 'X4': '0x1', 'X5': '0x62', 'X6': '0x6'})
'0x6623492a'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('0x4d50d2')
'0xd2', '0x6', '0x1')
(
>>> main('0x268df4')
'0x1f4', '0x13', '0x0')
(
>>> main('0xdbecc')
'0xcc', '0x6', '0x0')
(
>>> main('0x55034')
'0x34', '0x2', '0x0') (
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.
Выходные данные:
Целое.
Тесты:
>>> main('18874650')
67536898
>>> main('140339829')
194855637
>>> main('143251068')
18827180
>>> main('140212391')
191480561
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main(344227843)
'0x400d4a0'
>>> main(379996591)
'0x266bd692'
>>> main(347350637)
'0x349b5489'
>>> main(839377947)
'0x706f239'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('0x65348540')
'0x26d021000'
>>> main('0x5cee3629e')
'0x5c2bd881e'
>>> main('0x2fac76b8')
'0x75a01d838'
>>> main('0x3dd5e4466')
'0x2b9791026'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Десятичная строка.
Тесты:
>>> main(6716121)
'1946429'
>>> main(156904)
'119090'
>>> main(3523524)
'5736673'
>>> main(2345909)
'486373'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main(1642295646)
'R1', '0x1e'), ('R2', '0x5'), ('R3', '0x37'), ('R4', '0x1'), ('R6', '0x1')]
[(
>>> main(1756868949)
'R1', '0x15'), ('R2', '0x5'), ('R3', '0x17b'), ('R4', '0x1'), ('R6', '0x1')]
[(
>>> main(1220816543)
'R1', '0x1f'), ('R2', '0x3a'), ('R3', '0x42'), ('R4', '0x0'), ('R6', '0x1')]
[(
>>> main(775158638)
'R1', '0x2e'), ('R2', '0x2d'), ('R3', '0x13f'), ('R4', '0x1'), ('R6', '0x0')] [(
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('U1', '425'), ('U2', '3'), ('U3', '427'), ('U4', '3'), ('U5', '5')])
'49985449'
>>> main([('U1', '497'), ('U2', '6'), ('U3', '316'), ('U4', '0'), ('U5', '2')])
'18075121'
>>> main([('U1', '376'), ('U2', '1'), ('U3', '80'), ('U4', '2'), ('U5', '1')])
'12911480'
>>> main([('U1', '56'), ('U2', '4'), ('U3', '306'), ('U4', '2'), ('U5', '1')])
'13838392'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main({'H1': '15', 'H2': '0', 'H3': '386', 'H4': '22', 'H5': '113'})
'237350991'
>>> main({'H1': '1', 'H2': '1', 'H3': '377', 'H4': '126', 'H5': '378'})
'794799921'
>>> main({'H1': '3', 'H2': '0', 'H3': '246', 'H4': '114', 'H5': '317'})
'666672835'
>>> main({'H1': '13', 'H2': '1', 'H3': '375', 'H4': '113', 'H5': '408'})
'857501437'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main({'F1': '0x0', 'F2': '0x75', 'F3': '0x0', 'F4': '0x1a1', 'F5': '0x198'})
'0x331a10ea'
>>> main({'F1': '0x1', 'F2': '0x11', 'F3': '0x0', 'F4': '0x81', 'F5': '0xc7'})
'0x18e81023'
>>> main({'F1': '0x1', 'F2': '0x51', 'F3': '0x2', 'F4': '0x180', 'F5': '0x1d0'})
'0x3a1808a3'
>>> main({'F1': '0x0', 'F2': '0x1c7', 'F3': '0x2', 'F4': '0x9d', 'F5': '0xe4'})
'0x1c89db8e'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main(287965218)
'T1': '2', 'T2': '0', 'T4': '320', 'T5': '274'}
{
>>> main(73160620)
'T1': '0', 'T2': '3', 'T4': '394', 'T5': '69'}
{
>>> main(476342927)
'T1': '3', 'T2': '3', 'T4': '141', 'T5': '454'}
{
>>> main(440033126)
'T1': '2', 'T2': '1', 'T4': '331', 'T5': '419'} {
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('1447461')
'Y1', 5), ('Y3', 16), ('Y4', 5)]
[(
>>> main('451862')
'Y1', 6), ('Y3', 23), ('Y4', 1)]
[(
>>> main('3429513')
'Y1', 9), ('Y3', 2), ('Y4', 13)]
[(
>>> main('2764317')
'Y1', 13), ('Y3', 17), ('Y4', 10)] [(
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main({'D1': '0xb1', 'D2': '0x153', 'D3': '0x24f', 'D4': '0x2'})
'0x293ea6b1'
>>> main({'D1': '0x1a8', 'D2': '0x12b', 'D3': '0x274', 'D4': '0x3'})
'0x39d257a8'
>>> main({'D1': '0xb2', 'D2': '0x194', 'D3': '0x2f6', 'D4': '0x2'})
'0x2bdb28b2'
>>> main({'D1': '0xf8', 'D2': '0x1f2', 'D3': '0x392', 'D4': '0x2'})
'0x2e4be4f8'