Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main(213392)
'0xd190'
>>> main(425461)
'0x2019ff5'
>>> main(505719)
'0x301ed77'
>>> main(362086)
'0x3016066'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Выходные данные:
Десятичная строка.Тесты:
>>> main({'K1': 985, 'K2': 821, 'K3': 13, 'K4': 19, 'K6': 133})
'18279714052057'
>>> main({'K1': 488, 'K2': 52, 'K3': 14, 'K4': 28, 'K6': 26})
'3573897286120'
>>> main({'K1': 356, 'K2': 160, 'K3': 2, 'K4': 44, 'K6': 48})
'6597810225508'
>>> main({'K1': 917, 'K2': 972, 'K3': 0, 'K4': 37, 'K6': 166})
'22815488029589'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Тесты:
>>> main(6165674)
'B1', 0), ('B3', 298), ('B4', 33), ('B5', 23)]
[(
>>> main(4088447)
'B1', 1), ('B3', 159), ('B4', 38), ('B5', 15)]
[(
>>> main(5109441)
'B1', 1), ('B3', 432), ('B4', 31), ('B5', 19)]
[(
>>> main(6641287)
'B1', 1), ('B3', 417), ('B4', 21), ('B5', 25)] [(
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main({'V1': '658', 'V3': '21', 'V4': '9', 'V5': '315'})
'0x13b92a0292'
>>> main({'V1': '865', 'V3': '106', 'V4': '0', 'V5': '319'})
'0x13f0d40361'
>>> main({'V1': '706', 'V3': '26', 'V4': '14', 'V5': '18'})
'0x12e3402c2'
>>> main({'V1': '638', 'V3': '63', 'V4': '5', 'V5': '306'})
'0x13257e027e'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('3511284808')
'0x342429'
>>> main('1671797423')
'0x1857f4'
>>> main('3271681994')
'0x30e560'
>>> main('2160151547')
'0x20fd98'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('0x793cc')
'U1', 12), ('U2', 79), ('U3', 0), ('U4', 30)]
[(
>>> main('0x64d6d')
'U1', 45), ('U2', 53), ('U3', 0), ('U4', 25)]
[(
>>> main('0x22701')
'U1', 1), ('U2', 28), ('U3', 1), ('U4', 8)]
[(
>>> main('0x6cb1b')
'U1', 27), ('U2', 44), ('U3', 0), ('U4', 27)] [(
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main(1708582278)
'0xa5d6e1'
>>> main(10561151392)
'0x357e69'
>>> main(5829083298)
'0x1b70c5'
>>> main(8800878648)
'0xc92c8'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('0x240')
'544'
>>> main('0x5cd')
'1629'
>>> main('0x68c')
'1132'
>>> main('0x6d')
'1797'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main(('0x8', '0x18', '0x0', '0x0', '0x9', '0x54'))
'353504264'
>>> main(('0x5b', '0x12', '0x1', '0x3', '0x3', '0x45'))
'289831259'
>>> main(('0x58', '0x6', '0x0', '0x9', '0x5', '0x69'))
'441131864'
>>> main(('0x2', '0x8', '0x1', '0x9', '0xa', '0x68'))
'437597186'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main([('G1', 146), ('G2', 197), ('G3', 67), ('G4', 7)])
'0x3c3c592'
>>> main([('G1', 74), ('G2', 65), ('G3', 79), ('G4', 15)])
'0x7cf414a'
>>> main([('G1', 191), ('G2', 117), ('G3', 57), ('G4', 0)])
'0x3975bf'
>>> main([('G1', 133), ('G2', 241), ('G3', 109), ('G4', 14)])
'0x76df185'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main({'P1': '414', 'P2': '6', 'P3': '4', 'P4': '14'})
'0x74d9e'
>>> main({'P1': '137', 'P2': '1', 'P3': '4', 'P4': '159'})
'0x4fc289'
>>> main({'P1': '431', 'P2': '1', 'P3': '1', 'P4': '201'})
'0x6493af'
>>> main({'P1': '424', 'P2': '3', 'P3': '2', 'P4': '170'})
'0x5527a8'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Тесты:
>>> main(7993947720)
'I1': 72, 'I2': 123, 'I3': 25, 'I4': 227, 'I5': 7}
{
>>> main(4853112887)
'I1': 55, 'I2': 80, 'I3': 4, 'I4': 266, 'I5': 4}
{
>>> main(16350739106)
'I1': 162, 'I2': 61, 'I3': 20, 'I4': 116, 'I5': 15}
{
>>> main(13315004729)
'I1': 313, 'I2': 108, 'I3': 2, 'I4': 205, 'I5': 12} {
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('7908569')
'E1', 25), ('E2', 38), ('E3', 21), ('E4', 15)]
[(
>>> main('9252368')
'E1', 16), ('E2', 48), ('E3', 165), ('E4', 17)]
[(
>>> main('12427209')
'E1', 9), ('E2', 62), ('E3', 179), ('E4', 23)]
[(
>>> main('3302838')
'E1', 22), ('E2', 45), ('E3', 76), ('E4', 6)] [(
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Десятичная строка.
Тесты:
>>> main(112887186)
'44338094'
>>> main(27739439)
'122391145'
>>> main(47647046)
'118592180'
>>> main(13889170)
'65330228'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main(('0x7c', '0x87', '0x37', '0x3'))
'0x33743fc'
>>> main(('0x56', '0x146', '0xfa', '0x3'))
'0x3faa356'
>>> main(('0x44', '0x11b', '0x1f', '0x3'))
'0x31f8dc4'
>>> main(('0x71', '0xa5', '0x9', '0x2'))
'0x20952f1'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main(864775)
'0x7', '0x99', '0x6')
(
>>> main(254625)
'0x21', '0xf1', '0x1')
(
>>> main(906671)
'0x2f', '0xea', '0x6')
(
>>> main(354213)
'0x25', '0xb3', '0x2') (
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('203305')
'0x18c001'
>>> main('710159')
'0x568003'
>>> main('12783636')
'0x188018'
>>> main('13692263')
'0x87401b'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main([('D1', '4'), ('D2', '31'), ('D4', '1'), ('D5', '43'), ('D6', '0')])
'0xae0fc'
>>> main([('D1', '7'), ('D2', '57'), ('D4', '0'), ('D5', '998'), ('D6', '3')])
'0x3f981cf'
>>> main([('D1', '2'), ('D2', '57'), ('D4', '1'), ('D5', '220'), ('D6', '0')])
'0x3721ca'
>>> main([('D1', '7'), ('D2', '9'), ('D4', '0'), ('D5', '850'), ('D6', '1')])
'0x1d4804f'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main(2736882)
'X1': '2', 'X2': '6', 'X3': '11', 'X5': '5'}
{
>>> main(4930281)
'X1': '1', 'X2': '5', 'X3': '107', 'X5': '9'}
{
>>> main(7239500)
'X1': '4', 'X2': '1', 'X3': '93', 'X5': '13'}
{
>>> main(8137722)
'X1': '2', 'X2': '7', 'X3': '47', 'X5': '15'} {
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('6078318')
'3128174'
>>> main('1172400')
'7873456'
>>> main('2718114')
'6181282'
>>> main('1434390')
'7875350'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('S1', '0x287'), ('S2', '0x0'), ('S4', '0x73'), ('S5', '0x7')])
'484835975'
>>> main([('S1', '0xf5'), ('S2', '0x1'), ('S4', '0x56'), ('S5', '0x5c')])
'6185288949'
>>> main([('S1', '0x95'), ('S2', '0x2'), ('S4', '0x15f'), ('S5', '0x78')])
'8099072149'
>>> main([('S1', '0x306'), ('S2', '0x0'), ('S4', '0x61'), ('S5', '0x7c')])
'8334213894'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main({'L1': 769, 'L2': 220, 'L3': 1, 'L4': 42, 'L6': 107})
'0xd6005477301'
>>> main({'L1': 666, 'L2': 28, 'L3': 3, 'L4': 60, 'L6': 75})
'0x960078c729a'
>>> main({'L1': 466, 'L2': 206, 'L3': 4, 'L4': 40, 'L6': 96})
'0xc00051339d2'
>>> main({'L1': 500, 'L2': 50, 'L3': 0, 'L4': 18, 'L6': 20})
'0x2800240c9f4'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('965346')
'S1', '0'), ('S2', '369'), ('S3', '471'), ('S4', '0')]
[(
>>> main('1599439')
'S1', '1'), ('S2', '999'), ('S3', '268'), ('S4', '1')]
[(
>>> main('2550445')
'S1', '1'), ('S2', '342'), ('S3', '221'), ('S4', '2')]
[(
>>> main('1791865')
'S1', '1'), ('S2', '956'), ('S3', '362'), ('S4', '1')] [(
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Выходные данные:
Десятичная строка.Тесты:
>>> main({'U1': 43, 'U2': 10, 'U3': 66, 'U4': 0, 'U5': 0, 'U6': 314})
'329321131'
>>> main({'U1': 57, 'U2': 7, 'U3': 77, 'U4': 2, 'U5': 1, 'U6': 257})
'270349817'
>>> main({'U1': 21, 'U2': 12, 'U3': 115, 'U4': 2, 'U5': 1, 'U6': 362})
'380489493'
>>> main({'U1': 20, 'U2': 15, 'U3': 108, 'U4': 3, 'U5': 1, 'U6': 93})
'98546644'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('L1', '99'), ('L2', '247'), ('L3', '80'), ('L4', '9'), ('L5', '46')])
'25008664163'
>>> main([('L1', '268'), ('L2', '133'), ('L3', '121'), ('L4', '11'), ('L5', '11')])
'6290606860'
>>> main([('L1', '340'), ('L2', '215'), ('L3', '50'), ('L4', '3'), ('L5', '9')])
'4939165524'
>>> main([('L1', '335'), ('L2', '95'), ('L3', '83'), ('L4', '14'), ('L5', '51')])
'27861106511'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Целое.Тесты:
>>> main([('W1', '6'), ('W2', '29'), ('W3', '5'), ('W4', '140'), ('W5', '684'), ('W6', '34')])
74450048238
>>> main([('W1', '6'), ('W2', '52'), ('W3', '2'), ('W4', '58'), ('W5', '946'), ('W6', '34')])
74998827430
>>> main([('W1', '4'), ('W2', '62'), ('W3', '3'), ('W4', '170'), ('W5', '198'), ('W6', '8')])
17596501492
>>> main([('W1', '7'), ('W2', '77'), ('W3', '2'), ('W4', '65'), ('W5', '734'), ('W6', '39')])
85291706991
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main(('460', '600', '6', '7'))
'32813516'
>>> main(('231', '86', '6', '7'))
'32550119'
>>> main(('235', '527', '5', '5'))
'23863019'
>>> main(('343', '1011', '6', '1'))
'7858007'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('370739026')
'Q1': '2', 'Q2': '117', 'Q4': '0', 'Q5': '195', 'Q6': '1'}
{
>>> main('6691154963')
'Q1': '3', 'Q2': '65', 'Q4': '1', 'Q5': '474', 'Q6': '24'}
{
>>> main('7755188879')
'Q1': '15', 'Q2': '40', 'Q4': '3', 'Q5': '455', 'Q6': '28'}
{
>>> main('7059343388')
'Q1': '12', 'Q2': '1', 'Q4': '2', 'Q5': '152', 'Q6': '26'} {
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('0x3cd4e6e')
'K1': '0x26e', 'K2': '0x13', 'K3': '0x9a', 'K4': '0x7', 'K5': '0x0'}
{
>>> main('0x409f90f')
'K1': '0x10f', 'K2': '0x1e', 'K3': '0x13', 'K4': '0x0', 'K5': '0x1'}
{
>>> main('0x496b46e')
'K1': '0x6e', 'K2': '0xd', 'K3': '0x2d', 'K4': '0x1', 'K5': '0x1'}
{
>>> main('0x3d8ffe0')
'K1': '0x3e0', 'K2': '0x1f', 'K3': '0xb1', 'K4': '0x7', 'K5': '0x0'} {
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Целое.
Тесты:
>>> main('0x31ea0cb')
42434584
>>> main('0x33c5a87')
24051737
>>> main('0x6108815')
35913776
>>> main('0x864e32')
20545540
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.
Выходные данные:
Целое.
Тесты:
>>> main('9937848')
16138359
>>> main('14263646')
3635371
>>> main('14805751')
4169054
>>> main('14640200')
15687817
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('261434789')
'165', '5', '677', '124')
(
>>> main('445008544')
'160', '2', '201', '212')
(
>>> main('455011965')
'125', '6', '989', '216')
(
>>> main('427533978')
'154', '6', '884', '203') (
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main([('R1', '0x4a'), ('R2', '0xef'), ('R3', '0x6'), ('R4', '0x212')])
'0x1096ef4a'
>>> main([('R1', '0x7a'), ('R2', '0xae'), ('R3', '0x3'), ('R4', '0x112')])
'0x893ae7a'
>>> main([('R1', '0x4a'), ('R2', '0x13'), ('R3', '0x6'), ('R4', '0x13e')])
'0x9f6134a'
>>> main([('R1', '0xca'), ('R2', '0xe3'), ('R3', '0x5'), ('R4', '0x10e')])
'0x875e3ca'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Целое.
Тесты:
>>> main('0x580faead')
1089826486
>>> main('0x5d30979c')
322757207
>>> main('0x4b3c3ff3')
1946128626
>>> main('0x66f59747')
1870280281
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('0x396f')
'N1': '15', 'N2': '2', 'N4': '114'}
{
>>> main('0x1b22')
'N1': '2', 'N2': '2', 'N4': '54'}
{
>>> main('0x3387')
'N1': '7', 'N2': '0', 'N4': '103'}
{
>>> main('0x2fc3')
'N1': '3', 'N2': '0', 'N4': '95'} {
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('385378969')
'S1': '0x99', 'S2': '0x35', 'S3': '0x7c', 'S4': '0xb'}
{
>>> main('1688640785')
'S1': '0x111', 'S2': '0x4e', 'S3': '0x53', 'S4': '0x32'}
{
>>> main('2058377738')
'S1': '0xa', 'S2': '0x2d', 'S3': '0x58', 'S4': '0x3d'}
{
>>> main('320112818')
'S1': '0xb2', 'S2': '0x44', 'S3': '0x8a', 'S4': '0x9'} {
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main(2020085635)
'0x7868f830'
>>> main(1051860972)
'0x3eb1fec0'
>>> main(1182040119)
'0x46700370'
>>> main(1899990752)
'0x7138ee00'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('V2', 1), ('V3', 9), ('V4', 653), ('V5', 60), ('V6', 1)])
'145577626624'
>>> main([('V2', 1), ('V3', 15), ('V4', 84), ('V5', 127), ('V6', 0)])
'17056693248'
>>> main([('V2', 1), ('V3', 6), ('V4', 470), ('V5', 65), ('V6', 1)])
'146224722944'
>>> main([('V2', 0), ('V3', 51), ('V4', 679), ('V5', 128), ('V6', 0)])
'17268971520'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main(15246)
'Q1': '14', 'Q2': '12', 'Q3': '1', 'Q4': '7'}
{
>>> main(11857)
'Q1': '17', 'Q2': '2', 'Q3': '3', 'Q4': '5'}
{
>>> main(4808)
'Q1': '8', 'Q2': '6', 'Q3': '1', 'Q4': '2'}
{
>>> main(10475)
'Q1': '11', 'Q2': '7', 'Q3': '0', 'Q4': '5'} {
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main(12363967109)
'J1', '133'), ('J2', '405'), ('J3', '60'), ('J4', '0'), ('J5', '46')]
[(
>>> main(4785804058)
'J1', '282'), ('J2', '201'), ('J3', '80'), ('J4', '3'), ('J5', '17')]
[(
>>> main(33970894162)
'J1', '338'), ('J2', '346'), ('J3', '52'), ('J4', '2'), ('J5', '126')]
[(
>>> main(29140984522)
'J1', '202'), ('J2', '17'), ('J3', '60'), ('J4', '2'), ('J5', '108')] [(