Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('0x66333abed')
[('Y1', 1005), ('Y2', 234), ('Y3', 204), ('Y4', 152), ('Y5', 1)]
>>> main('0xc0c6806a5')
[('Y1', 677), ('Y2', 1), ('Y3', 26), ('Y4', 3), ('Y5', 3)]
>>> main('0xca09c2108')
[('Y1', 264), ('Y2', 8), ('Y3', 39), ('Y4', 40), ('Y5', 3)]
>>> main('0xbd35fd0b4')
[('Y1', 180), ('Y2', 244), ('Y3', 215), ('Y4', 244), ('Y5', 2)]
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main({'I1': '8', 'I2': '1', 'I4': '242', 'I5': '12'})
'0x33c8018'
>>> main({'I1': '12', 'I2': '1', 'I4': '164', 'I5': '3'})
'0xe9001c'
>>> main({'I1': '3', 'I2': '1', 'I4': '184', 'I5': '10'})
'0x2ae0013'
>>> main({'I1': '1', 'I2': '0', 'I4': '88', 'I5': '8'})
'0x2160001'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main({'Z1': '0x0', 'Z2': '0x63', 'Z3': '0x1ae', 'Z4': '0x1'})
'482502'
>>> main({'Z1': '0x1', 'Z2': '0xfb', 'Z3': '0x1ee', 'Z4': '0x1'})
'515575'
>>> main({'Z1': '0x1', 'Z2': '0x5f', 'Z3': '0x1a6', 'Z4': '0x1'})
'478399'
>>> main({'Z1': '0x1', 'Z2': '0x18', 'Z3': '0x1db', 'Z4': '0x1'})
'505393'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('8981859')
{'W1': '0x3', 'W2': '0x2c', 'W4': '0x112'}
>>> main('11251837')
{'W1': '0x5', 'W2': '0xf', 'W4': '0x157'}
>>> main('13189945')
{'W1': '0x1', 'W2': '0x27', 'W4': '0x192'}
>>> main('16572399')
{'W1': '0x7', 'W2': '0x3d', 'W4': '0x1f9'}
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('144760769')
{'D1': '65', 'D2': '63', 'D4': '276', 'D5': '0'}
>>> main('6524527')
{'D1': '111', 'D2': '28', 'D4': '12', 'D5': '0'}
>>> main('462555001')
{'D1': '121', 'D2': '14', 'D4': '370', 'D5': '1'}
>>> main('280079108')
{'D1': '4', 'D2': '86', 'D4': '22', 'D5': '1'}
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Целое.Тесты:
>>> main([('T1', 320), ('T2', 367), ('T3', 31), ('T4', 230)])
15443353408
>>> main([('T1', 223), ('T2', 392), ('T3', 124), ('T4', 5)])
368251103
>>> main([('T1', 376), ('T2', 181), ('T3', 3), ('T4', 415)])
27851058040
>>> main([('T1', 177), ('T2', 115), ('T3', 117), ('T4', 295)])
19827844785
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Выходные данные:
Десятичная строка.Тесты:
>>> main({'H1': 1, 'H2': 1, 'H3': 0, 'H4': 1, 'H5': 80})
'5155'
>>> main({'H1': 0, 'H2': 1, 'H3': 5, 'H4': 0, 'H5': 926})
'59286'
>>> main({'H1': 0, 'H2': 0, 'H3': 7, 'H4': 0, 'H5': 598})
'38300'
>>> main({'H1': 1, 'H2': 1, 'H3': 3, 'H4': 0, 'H5': 494})
'31631'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Целое.
Тесты:
>>> main('0x1b1dac5a')
363933038
>>> main('0x313d2950')
387164264
>>> main('0x2018b95e')
503426884
>>> main('0x21693b4')
136436277
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main(244976069)
{'K1': '197', 'K2': '1', 'K3': '4', 'K4': '4', 'K5': '467'}
>>> main(145371679)
{'K1': '31', 'K2': '0', 'K3': '25', 'K4': '4', 'K5': '277'}
>>> main(308150650)
{'K1': '122', 'K2': '1', 'K3': '0', 'K4': '12', 'K5': '587'}
>>> main(292761190)
{'K1': '102', 'K2': '0', 'K3': '23', 'K4': '6', 'K5': '558'}
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('M1', '11'), ('M2', '88'), ('M3', '261'), ('M4', '1'), ('M5', '1')])
'6827403'
>>> main([('M1', '14'), ('M2', '37'), ('M3', '1013'), ('M4', '1'), ('M5', '1')])
'8366686'
>>> main([('M1', '13'), ('M2', '46'), ('M3', '7'), ('M4', '1'), ('M5', '3')])
'14695149'
>>> main([('M1', '6'), ('M2', '41'), ('M3', '867'), ('M4', '1'), ('M5', '0')])
'3873430'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main(4912)
('0', '102', '0')
>>> main(18604)
('4', '277', '2')
>>> main(3366)
('6', '420', '0')
>>> main(28547)
('3', '496', '3')
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('4965')
{'J1': '5', 'J2': '0', 'J3': '310', 'J5': '0'}
>>> main('116151')
{'J1': '7', 'J2': '0', 'J3': '91', 'J5': '7'}
>>> main('41663')
{'J1': '7', 'J2': '1', 'J3': '43', 'J5': '2'}
>>> main('22045')
{'J1': '5', 'J2': '1', 'J3': '353', 'J5': '1'}
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main(('2', '1', '18', '455', '493'))
'1035759766'
>>> main(('0', '1', '59', '433', '348'))
'731582940'
>>> main(('2', '0', '456', '282', '407'))
'854699586'
>>> main(('3', '1', '318', '276', '190'))
'399591927'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main(89542)
[('C1', '198'), ('C2', '93'), ('C3', '1'), ('C4', '0')]
>>> main(1040156)
[('C1', '28'), ('C2', '223'), ('C3', '1'), ('C4', '7')]
>>> main(1654757)
[('C1', '229'), ('C2', '63'), ('C3', '1'), ('C4', '12')]
>>> main(380142)
[('C1', '238'), ('C2', '204'), ('C3', '1'), ('C4', '2')]
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('475384436')
[('K2', '0x53'), ('K3', '0x2ae'), ('K4', '0x0'), ('K5', '0x1c')]
>>> main('849365610')
[('K2', '0x53'), ('K3', '0x102'), ('K4', '0x1'), ('K5', '0x32')]
>>> main('178162498')
[('K2', '0x5a'), ('K3', '0xf4'), ('K4', '0x1'), ('K5', '0xa')]
>>> main('709883241')
[('K2', '0xab'), ('K3', '0x27f'), ('K4', '0x0'), ('K5', '0x2a')]
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('0x521c8c9c')
{'P1': '28', 'P3': '2', 'P4': '135', 'P5': '20', 'P6': '0'}
>>> main('0x1cb80e668')
{'P1': '8', 'P3': '3', 'P4': '224', 'P5': '18', 'P6': '3'}
>>> main('0xe64df459')
{'P1': '25', 'P3': '7', 'P4': '147', 'P5': '25', 'P6': '1'}
>>> main('0xa455e428')
{'P1': '8', 'P3': '7', 'P4': '21', 'P5': '9', 'P6': '1'}
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main([('Z1', 422), ('Z2', 1), ('Z3', 3), ('Z4', 264)])
'0x421da6'
>>> main([('Z1', 702), ('Z2', 0), ('Z3', 5), ('Z4', 411)])
'0x66eabe'
>>> main([('Z1', 200), ('Z2', 1), ('Z3', 6), ('Z4', 298)])
'0x4ab4c8'
>>> main([('Z1', 791), ('Z2', 1), ('Z3', 0), ('Z4', 397)])
'0x634717'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('0x1b03')
'0x104d'
>>> main('0x5831')
'0x162c'
>>> main('0x50d8')
'0xb28'
>>> main('0x3102')
'0x58'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('247647057437')
('0x1d', '0x11b', '0xd', '0x51', '0xe6')
>>> main('206977847422')
('0x7e', '0x3a8', '0xa', '0x61', '0xc0')
>>> main('124564089261')
('0x1ad', '0x94', '0x3', '0x1', '0x74')
>>> main('87563568765')
('0x7d', '0x103', '0x6', '0x46', '0x51')
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Целое.
Тесты:
>>> main('115690877016')
238371047096
>>> main('122091839594')
234076153616
>>> main('66556242096')
272731145172
>>> main('249491185859')
47245442704
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Целое.Тесты:
>>> main({'U1': '0x51', 'U2': '0x4', 'U3': '0x13', 'U4': '0x26', 'U5': '0x0', 'U6': '0xcc'})
219123336273
>>> main({'U1': '0x76', 'U2': '0x6', 'U3': '0x1e', 'U4': '0x32', 'U5': '0x0', 'U6': '0x76'})
126806886006
>>> main({'U1': '0xe', 'U2': '0x1d', 'U3': '0x50', 'U4': '0x9', 'U5': '0x1', 'U6': '0x7e'})
135445880078
>>> main({'U1': '0xbc', 'U2': '0x30', 'U3': '0x72', 'U4': '0x2f', 'U5': '0x7', 'U6': '0x4e'})
84791832764
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('203299')
{'D1': 35, 'D2': 4, 'D3': 198}
>>> main('226953')
{'D1': 9, 'D2': 5, 'D3': 221}
>>> main('74210')
{'D1': 98, 'D2': 3, 'D3': 72}
>>> main('78281')
{'D1': 73, 'D2': 3, 'D3': 76}
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main(('293', '0', '30', '2', '0'))
'0x27824a00'
>>> main(('955', '0', '2', '3', '1'))
'0x70877600'
>>> main(('46', '1', '47', '0', '2'))
'0x8bc85c00'
>>> main(('537', '5', '38', '2', '2'))
'0xa9ac3200'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('2244328965')
{'B1': '5', 'B2': '446', 'B3': '369', 'B4': '16', 'B5': '0'}
>>> main('19545859601')
{'B1': '17', 'B2': '550', 'B3': '321', 'B4': '17', 'B5': '1'}
>>> main('6992246256')
{'B1': '240', 'B2': '309', 'B3': '49', 'B4': '52', 'B5': '0'}
>>> main('25925754929')
{'B1': '49', 'B2': '928', 'B3': '82', 'B4': '65', 'B5': '1'}
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Целое.
Тесты:
>>> main(4141360)
6694415
>>> main(5545466)
1294165
>>> main(149941)
4798112
>>> main(8220483)
3008639
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main(252098447085)
'0x5da8dd682c'
>>> main(175048496602)
'0x3b46d460b0'
>>> main(81360504146)
'0x2a45c9763c'
>>> main(247151319826)
'0x624d5ceec2'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('13138118411')
'0x38a1c3e3b'
>>> main('1355152444')
'0x62714fe4'
>>> main('4414929661')
'0x393f413d5'
>>> main('4955489966')
'0x3af549636'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Десятичная строка.
Тесты:
>>> main(487749980398)
'430172256568'
>>> main(731528724634)
'88214760533'
>>> main(157943474311)
'763038406930'
>>> main(165153914425)
'673285990291'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main(4768292996065)
[('X1', '0x3e1'), ('X2', '0x0'), ('X3', '0x10'), ('X4', '0x28d'), ('X5', '0xb1'), ('X6', '0x11')]
>>> main(33332709946194)
[('X1', '0x352'), ('X2', '0x0'), ('X3', '0x5f'), ('X4', '0xa'), ('X5', '0x87'), ('X6', '0x79')]
>>> main(46246642484316)
[('X1', '0x5c'), ('X2', '0x1'), ('X3', '0x28'), ('X4', '0x56'), ('X5', '0x7d'), ('X6', '0xa8')]
>>> main(64743688638420)
[('X1', '0x3d4'), ('X2', '0x3'), ('X3', '0x0'), ('X4', '0x212'), ('X5', '0x112'), ('X6', '0xeb')]
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('0x2f94cf')
(1, 7, 19, 2, 31, 1)
>>> main('0xe4241')
(1, 0, 9, 8, 28, 0)
>>> main('0x38a28d')
(1, 6, 10, 4, 49, 1)
>>> main('0x1be6c2')
(0, 1, 27, 12, 55, 0)
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main({'Q1': '0', 'Q2': '57', 'Q3': '24', 'Q4': '60', 'Q5': '92', 'Q6': '11'})
'0x2d70f30e4'
>>> main({'Q1': '0', 'Q2': '24', 'Q3': '14', 'Q4': '82', 'Q5': '11', 'Q6': '3'})
'0xc2d49c60'
>>> main({'Q1': '1', 'Q2': '46', 'Q3': '25', 'Q4': '137', 'Q5': '167', 'Q6': '13'})
'0x369e272b9'
>>> main({'Q1': '0', 'Q2': '67', 'Q3': '5', 'Q4': '94', 'Q5': '55', 'Q6': '15'})
'0x3cdd78b0c'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main([('Y1', '0x0'), ('Y3', '0x0'), ('Y4', '0x1c')])
'0x700'
>>> main([('Y1', '0x1'), ('Y3', '0x1'), ('Y4', '0x56')])
'0x15a1'
>>> main([('Y1', '0x1'), ('Y3', '0x0'), ('Y4', '0x49')])
'0x1241'
>>> main([('Y1', '0x0'), ('Y3', '0x0'), ('Y4', '0x5f')])
'0x17c0'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Тесты:
>>> main(1755610164)
{'O1': 20, 'O2': 1, 'O3': 62, 'O4': 82, 'O5': 104}
>>> main(1089529923)
{'O1': 3, 'O2': 2, 'O3': 116, 'O4': 120, 'O5': 64}
>>> main(1200553169)
{'O1': 17, 'O2': 6, 'O3': 126, 'O4': 71, 'O5': 71}
>>> main(340123847)
{'O1': 7, 'O2': 6, 'O3': 240, 'O4': 34, 'O5': 20}
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('0x1e513168')
[('I1', 360), ('I2', 8), ('I3', 137), ('I4', 121)]
>>> main('0x106fa4fd')
[('I1', 253), ('I2', 2), ('I3', 381), ('I4', 65)]
>>> main('0x192d8383')
[('I1', 387), ('I2', 1), ('I3', 364), ('I4', 100)]
>>> main('0x26e8b5a')
[('I1', 346), ('I2', 5), ('I3', 372), ('I4', 9)]
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main(('0x6c', '0x1', '0x76', '0x6a'))
'0xd5d8026c'
>>> main(('0x1a6', '0x1', '0x15', '0xce'))
'0x19c5403a6'
>>> main(('0x12', '0x0', '0x5', '0x171'))
'0x2e2140012'
>>> main(('0xf5', '0x1', '0x5c', '0x166'))
'0x2cd7002f5'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Десятичная строка.
Тесты:
>>> main(122821179248)
'255630537575'
>>> main(132793599176)
'164405737944'
>>> main(29092498915)
'477247838404'
>>> main(59897358524)
'300237731474'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main(62787591)
'0x20401be'
>>> main(98912594)
'0x40253e5'
>>> main(3172259)
'0x9ea30'
>>> main(104299010)
'0x60e8237'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main({'H1': '0x1', 'H2': '0x16', 'H3': '0xb4', 'H4': '0x2d9', 'H5': '0xb3'})
'48241141849'
>>> main({'H1': '0x3', 'H2': '0x14', 'H3': '0xa7', 'H4': '0x102', 'H5': '0xbe'})
'51070455379'
>>> main({'H1': '0x3', 'H2': '0x10', 'H3': '0x66', 'H4': '0xbc', 'H5': '0xf'})
'4075867203'
>>> main({'H1': '0x0', 'H2': '0x7a', 'H3': '0x81', 'H4': '0x12c', 'H5': '0x11c'})
'76314379240'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main(16146106674)
{'B1': '0x2', 'B2': '0x3', 'B3': '0x12', 'B4': '0x0', 'B5': '0x262', 'B6': '0xf0'}
>>> main(12773548659)
{'B1': '0x3', 'B2': '0x7', 'B3': '0x4', 'B4': '0x7', 'B5': '0x15c', 'B6': '0xbe'}
>>> main(15766045815)
{'B1': '0x7', 'B2': '0x7', 'B3': '0x8', 'B4': '0x6', 'B5': '0x3ba', 'B6': '0xea'}
>>> main(28319353264)
{'B1': '0x0', 'B2': '0x3', 'B3': '0x13', 'B4': '0x0', 'B5': '0x3f7', 'B6': '0x1a5'}
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('31814656028')
[('Z1', '0x1c'), ('Z2', '0x0'), ('Z3', '0x1a4'), ('Z4', '0x84'), ('Z5', '0x3'), ('Z6', '0xe')]
>>> main('32416230400')
[('Z1', '0x0'), ('Z2', '0x20'), ('Z3', '0x10d'), ('Z4', '0xc2'), ('Z5', '0x0'), ('Z6', '0xf')]
>>> main('43815498091')
[('Z1', '0xb'), ('Z2', '0xb'), ('Z3', '0x16e'), ('Z4', '0x139'), ('Z5', '0x1'), ('Z6', '0x14')]
>>> main('55917689377')
[('Z1', '0x1'), ('Z2', '0x11'), ('Z3', '0x87'), ('Z4', '0x4f'), ('Z5', '0x0'), ('Z6', '0x1a')]