Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main([('R1', '5'), ('R2', '46'), ('R3', '78'), ('R4', '20'), ('R6', '0')])
'0x144e5c5'
>>> main([('R1', '17'), ('R2', '15'), ('R3', '219'), ('R4', '2'), ('R6', '0')])
'0x2db1f1'
>>> main([('R1', '26'), ('R2', '107'), ('R3', '109'), ('R4', '0'), ('R6', '0')])
'0x6dd7a'
>>> main([('R1', '8'), ('R2', '66'), ('R3', '215'), ('R4', '10'), ('R6', '0')])
'0xad7848'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.
Выходные данные:
Целое.
Тесты:
>>> main('70872957')
81747126
>>> main('45836165')
48324019
>>> main('91966951')
91880870
>>> main('225288188')
234829518
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('0x63ffb')
'0x618bfd'
>>> main('0x350753')
'0xd43a9'
>>> main('0x78cb95')
'0x3e31ca'
>>> main('0xe74cd')
'0x439a66'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main(1615938764)
'0x2b064ca'
>>> main(1104096182)
'0xe65abb9'
>>> main(498347159)
'0x6d8eaca1'
>>> main(1561497824)
'0x68a910d4'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('N2', '0x0'), ('N3', '0xa3'), ('N4', '0x2')])
'75968'
>>> main([('N2', '0x0'), ('N3', '0x64'), ('N4', '0x2')])
'71936'
>>> main([('N2', '0x1'), ('N3', '0x1ab'), ('N4', '0x0')])
'27360'
>>> main([('N2', '0x0'), ('N3', '0x34'), ('N4', '0x0')])
'3328'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main(56304374)
{'Q1': '6', 'Q2': '47', 'Q3': '1', 'Q4': '347', 'Q5': '1'}
>>> main(49519288)
{'Q1': '8', 'Q2': '427', 'Q3': '4', 'Q4': '243', 'Q5': '1'}
>>> main(61993758)
{'Q1': '14', 'Q2': '305', 'Q3': '7', 'Q4': '433', 'Q5': '1'}
>>> main(36998667)
{'Q1': '11', 'Q2': '224', 'Q3': '4', 'Q4': '52', 'Q5': '1'}
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('10936')
'0x16b8'
>>> main('2069')
'0x95'
>>> main('13778')
'0x3b52'
>>> main('5841')
'0x1d51'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Целое.Тесты:
>>> main(('7', '14', '248'))
16253159
>>> main(('15', '7', '36'))
2359423
>>> main(('1', '2', '461'))
30212129
>>> main(('1', '2', '65'))
4259873
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Тесты:
>>> main(62480442)
(0, 29, 352, 28, 14)
>>> main(9651954)
(0, 121, 326, 9, 2)
>>> main(141210573)
(1, 102, 179, 21, 33)
>>> main(266987672)
(0, 76, 488, 20, 63)
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Тесты:
>>> main(649856)
(0, 4, 1, 122, 4)
>>> main(936175)
(15, 7, 0, 18, 7)
>>> main(391391)
(31, 6, 0, 126, 2)
>>> main(618340)
(4, 11, 1, 91, 4)
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Целое.Тесты:
>>> main({'X2': '0x9', 'X3': '0x2', 'X4': '0xd'})
111744
>>> main({'X2': '0x3', 'X3': '0x1', 'X4': '0xf'})
125312
>>> main({'X2': '0x2', 'X3': '0x2', 'X4': '0x8'})
69888
>>> main({'X2': '0xe', 'X3': '0x0', 'X4': '0x14'})
165632
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main({'X1': '55', 'X2': '60', 'X3': '91', 'X4': '2', 'X5': '3'})
'106352439'
>>> main({'X1': '39', 'X2': '248', 'X3': '85', 'X4': '8', 'X5': '0'})
'18185767'
>>> main({'X1': '13', 'X2': '111', 'X3': '118', 'X4': '15', 'X5': '3'})
'134061005'
>>> main({'X1': '10', 'X2': '145', 'X3': '109', 'X4': '14', 'X5': '3'})
'131818570'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('0x52b0a4298a')
[('D1', 10), ('D2', 12), ('D3', 532), ('D4', 532), ('D5', 661), ('D6', 0)]
>>> main('0x22323fe2fb1')
[('D1', 17), ('D2', 13), ('D3', 791), ('D4', 127), ('D5', 281), ('D6', 4)]
>>> main('0x233dd4b3015')
[('D1', 21), ('D2', 0), ('D3', 408), ('D4', 937), ('D5', 414), ('D6', 4)]
>>> main('0x1c67a9f49aa')
[('D1', 10), ('D2', 13), ('D3', 932), ('D4', 851), ('D5', 563), ('D6', 3)]
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main(7591842780)
[('T1', '0x0'), ('T2', '0x1ee'), ('T3', '0x14'), ('T4', '0x1'), ('T5', '0x389')]
>>> main(4001798856)
[('T1', '0x0'), ('T2', '0x164'), ('T3', '0x26'), ('T4', '0x3'), ('T5', '0x1dd')]
>>> main(3491777895)
[('T1', '0x1'), ('T2', '0xb3'), ('T3', '0x13'), ('T4', '0x10'), ('T5', '0x1a0')]
>>> main(1494542639)
[('T1', '0x1'), ('T2', '0x97'), ('T3', '0x3a'), ('T4', '0xa'), ('T5', '0xb2')]
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('0x10919')
'0xc909'
>>> main('0xd42f9')
'0xfcd42'
>>> main('0x7651e')
'0xf765'
>>> main('0x9aab1')
'0xd89aa'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Целое.Тесты:
>>> main([('E1', '126'), ('E2', '12'), ('E3', '119'), ('E4', '955'), ('E5', '1018'), ('E6', '1')])
2193582440062
>>> main([('E1', '34'), ('E2', '4'), ('E3', '79'), ('E4', '872'), ('E5', '657'), ('E6', '1')])
1805874526754
>>> main([('E1', '75'), ('E2', '15'), ('E3', '386'), ('E4', '982'), ('E5', '0'), ('E6', '0')])
1030494155
>>> main([('E1', '8'), ('E2', '10'), ('E3', '13'), ('E4', '769'), ('E5', '163'), ('E6', '0')])
175826300168
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('J1', '37'), ('J2', '0'), ('J3', '67')])
'8613'
>>> main([('J1', '33'), ('J2', '1'), ('J3', '12')])
'1633'
>>> main([('J1', '56'), ('J2', '1'), ('J3', '15')])
'2040'
>>> main([('J1', '27'), ('J2', '0'), ('J3', '70')])
'8987'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main({'A1': 65, 'A2': 98, 'A3': 30, 'A5': 2, 'A6': 43})
'0xac800f6241'
>>> main({'A1': 35, 'A2': 119, 'A3': 93, 'A5': 5, 'A6': 44})
'0xb1402ef723'
>>> main({'A1': 189, 'A2': 113, 'A3': 16, 'A5': 14, 'A6': 51})
'0xcf800871bd'
>>> main({'A1': 224, 'A2': 82, 'A3': 94, 'A5': 14, 'A6': 57})
'0xe7802f52e0'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main(('832', '1', '1002'))
'0x1f5740'
>>> main(('461', '0', '590'))
'0x1271cd'
>>> main(('132', '1', '885'))
'0x1bac84'
>>> main(('41', '1', '398'))
'0xc7429'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('157920520')
{'R1': 264, 'R2': 6, 'R4': 845, 'R5': 18}
>>> main('485932353')
{'R1': 321, 'R2': 6, 'R4': 949, 'R5': 57}
>>> main('236760218')
{'R1': 154, 'R2': 6, 'R4': 229, 'R5': 28}
>>> main('493911863')
{'R1': 311, 'R2': 7, 'R4': 899, 'R5': 58}
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Целое.
Тесты:
>>> main('0x2045b0ae080')
555879520002
>>> main('0x1992372ed10')
1187783087820
>>> main('0x174bc5e609a')
665468990138
>>> main('0x1280766daae')
2921061889684
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Выходные данные:
Десятичная строка.Тесты:
>>> main({'X1': 187, 'X2': 14, 'X3': 441})
'3616443'
>>> main({'X1': 224, 'X2': 4, 'X3': 292})
'2393312'
>>> main({'X1': 37, 'X2': 7, 'X3': 31})
'255781'
>>> main({'X1': 26, 'X2': 3, 'X3': 413})
'3384090'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('18673187')
'3349691'
>>> main('594052')
'4720960'
>>> main('31002860')
'13621568'
>>> main('6149127')
'7364050'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main((1, 20, 169, 44))
'0x2c0054a9'
>>> main((0, 54, 110, 55))
'0x3700376c'
>>> main((1, 53, 231, 31))
'0x1f0073eb'
>>> main((0, 57, 75, 60))
'0x3c0025f2'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main(19468083844)
{'R1': '0x4', 'R2': '0xc5', 'R3': '0xc6', 'R4': '0x8', 'R5': '0x9'}
>>> main(14060191691)
{'R1': '0x4b', 'R2': '0xff', 'R3': '0x1a', 'R4': '0x46', 'R5': '0x6'}
>>> main(32532303695)
{'R1': '0x4f', 'R2': '0x1e', 'R3': '0x27', 'R4': '0x13', 'R5': '0xf'}
>>> main(18088757207)
{'R1': '0x57', 'R2': '0xf', 'R3': '0x59', 'R4': '0x36', 'R5': '0x8'}
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('67309253161')
{'E1': '41', 'E2': '100', 'E3': '995', 'E4': '85', 'E5': '3', 'E6': '3'}
>>> main('78230033011')
{'E1': '115', 'E2': '36', 'E3': '447', 'E4': '27', 'E5': '2', 'E6': '4'}
>>> main('68114729836')
{'E1': '108', 'E2': '150', 'E3': '1000', 'E4': '109', 'E5': '3', 'E6': '3'}
>>> main('20196708223')
{'E1': '127', 'E2': '158', 'E3': '930', 'E4': '89', 'E5': '0', 'E6': '1'}
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('0xcb8c3172')
'3334924'
>>> main('0x1180eb96c')
'4588462'
>>> main('0x19e95c15d')
'6792560'
>>> main('0x3ec63f211')
'16455932'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Десятичная строка.
Тесты:
>>> main(56121125)
'11900644'
>>> main(56182441)
'45450453'
>>> main(4411122)
'42215902'
>>> main(64576279)
'45981538'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Выходные данные:
Целое.Тесты:
>>> main({'G1': 9, 'G3': 133, 'G4': 69})
289951753
>>> main({'G1': 15, 'G3': 990, 'G4': 50})
213770255
>>> main({'G1': 2, 'G3': 379, 'G4': 4})
18329602
>>> main({'G1': 0, 'G3': 536, 'G4': 235})
987856896
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Тесты:
>>> main(23802167)
[('L1', 311), ('L2', 0), ('L3', 102), ('L5', 22)]
>>> main(27458775)
[('L1', 215), ('L2', 1), ('L3', 95), ('L5', 26)]
>>> main(1271108)
[('L1', 324), ('L2', 1), ('L3', 108), ('L5', 1)]
>>> main(7863305)
[('L1', 9), ('L2', 1), ('L3', 255), ('L5', 7)]
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('0x7fa')
[('S1', '2'), ('S2', '7'), ('S3', '15'), ('S4', '1')]
>>> main('0x68de')
[('S1', '6'), ('S2', '3'), ('S3', '3'), ('S4', '26')]
>>> main('0x209e')
[('S1', '6'), ('S2', '3'), ('S3', '2'), ('S4', '8')]
>>> main('0x75c7')
[('S1', '7'), ('S2', '0'), ('S3', '7'), ('S4', '29')]
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('64094159050')
[('P1', 202), ('P2', 832), ('P4', 17), ('P5', 477)]
>>> main('76411958584')
[('P1', 56), ('P2', 501), ('P4', 10), ('P5', 569)]
>>> main('88373369108')
[('P1', 20), ('P2', 665), ('P4', 13), ('P5', 658)]
>>> main('11343782931')
[('P1', 19), ('P2', 100), ('P4', 16), ('P5', 84)]
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.
Выходные данные:
Целое.
Тесты:
>>> main(57193065)
872624745
>>> main(1022310348)
935114700
>>> main(453381796)
52104868
>>> main(596645073)
136549585
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('0x2e753cf4f')
[('H1', '0xf'), ('H2', '0xa'), ('H3', '0x7'), ('H4', '0x9e'), ('H5', '0x3a'), ('H6', '0x5c')]
>>> main('0x159b27c4c')
[('H1', '0xc'), ('H2', '0x2'), ('H3', '0xe'), ('H4', '0x93'), ('H5', '0xd'), ('H6', '0x2b')]
>>> main('0x1b0c79622')
[('H1', '0x2'), ('H2', '0x1'), ('H3', '0xb'), ('H4', '0x3c'), ('H5', '0x6'), ('H6', '0x36')]
>>> main('0x1571fed3d')
[('H1', '0x1d'), ('H2', '0x9'), ('H3', '0x6'), ('H4', '0xff'), ('H5', '0x38'), ('H6', '0x2a')]
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main(8122179558)
('0x26', '0x27f', '0x1e', '0x9', '0x1', '0x3')
>>> main(7658313119)
('0x1f', '0x256', '0x78', '0x2', '0x1', '0x3')
>>> main(6161536797)
('0x1d', '0x25c', '0x341', '0xb', '0x1', '0x2')
>>> main(2021535755)
('0xb', '0xc0', '0x7e', '0xe', '0x1', '0x0')
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main({'E1': '233', 'E3': '4', 'E4': '87', 'E5': '15', 'E6': '99'})
'214705438953'
>>> main({'E1': '105', 'E3': '59', 'E4': '96', 'E5': '7', 'E6': '201'})
'432685367401'
>>> main({'E1': '169', 'E3': '17', 'E4': '124', 'E5': '15', 'E6': '203'})
'438082748585'
>>> main({'E1': '106', 'E3': '39', 'E4': '96', 'E5': '1', 'E6': '28'})
'60365062250'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Целое.
Тесты:
>>> main('0x5f9da2e70')
3964761023
>>> main('0x10bbf45ba7')
128765320471
>>> main('0xac7cfcfb7')
137015229848
>>> main('0xe50ea7f64')
70681623306
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main(1299160)
{'W1': '0x0', 'W3': '0x4b', 'W4': '0x4f'}
>>> main(342364)
{'W1': '0x0', 'W3': '0xe5', 'W4': '0x14'}
>>> main(31358)
{'W1': '0x2', 'W3': '0xe9', 'W4': '0x1'}
>>> main(839728)
{'W1': '0x0', 'W3': '0x40', 'W4': '0x33'}
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('S1', 0), ('S2', 13), ('S3', 113), ('S4', 38), ('S5', 1), ('S6', 66)])
'2219423898'
>>> main([('S1', 0), ('S2', 32), ('S3', 13), ('S4', 121), ('S5', 6), ('S6', 36)])
'1235109568'
>>> main([('S1', 0), ('S2', 26), ('S3', 60), ('S4', 120), ('S5', 5), ('S6', 50)])
'1700666932'
>>> main([('S1', 1), ('S2', 43), ('S3', 49), ('S4', 35), ('S5', 5), ('S6', 63)])
'2135480535'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main(('0x7', '0x4d', '0xc', '0x2'))
'0x2c9a7'
>>> main(('0x2', '0x5a', '0xf', '0x2b'))
'0x2bfb42'
>>> main(('0x18', '0x16', '0x3', '0x3c'))
'0x3c32d8'
>>> main(('0x5', '0x72', '0xb', '0x6'))
'0x6be45'