Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main(('5', '4', '65', '4', '103'))
'0x19c88245'
>>> main(('10', '10', '149', '26', '17'))
'0x4752aaa'
>>> main(('13', '22', '171', '5', '69'))
'0x114b576d'
>>> main(('15', '6', '27', '20', '87'))
'0x15e8366f'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('7644893')
'0xd', '0x26d', '0x1d2')
(
>>> main('3713935')
'0xf', '0x2b8', '0xe2')
(
>>> main('6646207')
'0xf', '0x29b', '0x195')
(
>>> main('7654743')
'0x7', '0xd5', '0x1d3') (
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main(('2', '46', '3', '1', '473'))
'31061776'
>>> main(('5', '39', '2', '0', '116'))
'7623592'
>>> main(('2', '42', '0', '1', '377'))
'24745232'
>>> main(('1', '17', '1', '1', '424'))
'27830408'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Целое.Тесты:
>>> main([('C1', 215), ('C2', 677), ('C3', 29), ('C4', 20), ('C5', 1), ('C6', 1)])
1786160599
>>> main([('C1', 56), ('C2', 120), ('C3', 26), ('C4', 33), ('C5', 0), ('C6', 1)])
1357412408
>>> main([('C1', 223), ('C2', 654), ('C3', 4), ('C4', 35), ('C5', 1), ('C6', 1)])
1905430239
>>> main([('C1', 1), ('C2', 820), ('C3', 30), ('C4', 5), ('C5', 0), ('C6', 0)])
50017281
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main({'I1': '27', 'I3': '189', 'I4': '1'})
'158990363'
>>> main({'I1': '58', 'I3': '325', 'I4': '0'})
'42598458'
>>> main({'I1': '112', 'I3': '926', 'I4': '1'})
'255590512'
>>> main({'I1': '112', 'I3': '971', 'I4': '1'})
'261488752'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('H1', 499), ('H2', 26), ('H3', 713), ('H4', 5), ('H6', 324)])
'2783521106419'
>>> main([('H1', 276), ('H2', 12), ('H3', 348), ('H4', 18), ('H6', 13)])
'112899928340'
>>> main([('H1', 815), ('H2', 45), ('H3', 453), ('H4', 18), ('H6', 5)])
'44187367215'
>>> main([('H1', 619), ('H2', 17), ('H3', 208), ('H4', 12), ('H6', 80)])
'688013723243'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('K1', '37'), ('K3', '3'), ('K4', '2'), ('K5', '81'), ('K6', '8')])
'17351180325'
>>> main([('K1', '180'), ('K3', '2'), ('K4', '3'), ('K5', '155'), ('K6', '13')])
'28244181172'
>>> main([('K1', '109'), ('K3', '3'), ('K4', '1'), ('K5', '645'), ('K6', '0')])
'1353580653'
>>> main([('K1', '120'), ('K3', '2'), ('K4', '3'), ('K5', '278'), ('K6', '4')])
'9174777976'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Целое.Тесты:
>>> main({'Y1': '11', 'Y3': '216', 'Y4': '845'})
3545956363
>>> main({'Y1': '13', 'Y3': '152', 'Y4': '1023'})
4292018189
>>> main({'Y1': '0', 'Y3': '140', 'Y4': '491'})
2060550144
>>> main({'Y1': '4', 'Y3': '363', 'Y4': '671'})
2817351684
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('28850638')
'16861'
>>> main('699127')
'21824'
>>> main('22130628')
'3450'
>>> main('27147539')
'29180'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('425420')
'318695'
>>> main('286842')
'133062'
>>> main('88316')
'298901'
>>> main('375724')
'309979'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main(9095)
'B1': '0x7', 'B2': '0x10', 'B3': '0x3', 'B4': '0x0', 'B5': '0x4'}
{
>>> main(121)
'B1': '0x1', 'B2': '0xf', 'B3': '0x0', 'B4': '0x0', 'B5': '0x0'}
{
>>> main(6415)
'B1': '0x7', 'B2': '0x1', 'B3': '0x1', 'B4': '0x0', 'B5': '0x3'}
{
>>> main(15574)
'B1': '0x6', 'B2': '0x1a', 'B3': '0x0', 'B4': '0x1', 'B5': '0x7'} {
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main([('D1', '0x0'), ('D2', '0x17'), ('D3', '0x1'), ('D4', '0x5')])
'0x2ee'
>>> main([('D1', '0x0'), ('D2', '0x9'), ('D3', '0x1'), ('D4', '0x0')])
'0x52'
>>> main([('D1', '0x1'), ('D2', '0x1f'), ('D3', '0x0'), ('D4', '0x9')])
'0x4bf'
>>> main([('D1', '0x1'), ('D2', '0x1f'), ('D3', '0x1'), ('D4', '0x24')])
'0x127f'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.
Выходные данные:
Десятичная строка.
Тесты:
>>> main(157171896)
'206579065'
>>> main(29764033)
'14681880'
>>> main(109795425)
'11541037'
>>> main(94826125)
'113251995'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Целое.Тесты:
>>> main([('K1', '0x49'), ('K2', '0x5d'), ('K3', '0xc4'), ('K4', '0x1'), ('K5', '0x6'), ('K6', '0x178')])
101047229769
>>> main([('K1', '0xca'), ('K2', '0x77'), ('K3', '0x93'), ('K4', '0x1'), ('K5', '0x4'), ('K6', '0x1af')])
115776026570
>>> main([('K1', '0xbf'), ('K2', '0x34'), ('K3', '0x6d'), ('K4', '0x1'), ('K5', '0xe'), ('K6', '0x10e')])
72724427967
>>> main([('K1', '0x48'), ('K2', '0x71'), ('K3', '0xee'), ('K4', '0x1'), ('K5', '0xf'), ('K6', '0x19e')])
111400153416
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Целое.Тесты:
>>> main([('D1', '6'), ('D2', '1'), ('D3', '882'), ('D4', '1')])
7807238
>>> main([('D1', '99'), ('D2', '15'), ('D3', '1016'), ('D4', '0')])
4165475
>>> main([('D1', '195'), ('D2', '9'), ('D3', '861'), ('D4', '0')])
3529155
>>> main([('D1', '29'), ('D2', '7'), ('D3', '864'), ('D4', '1')])
7735069
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main({'I1': '1', 'I2': '147', 'I3': '97', 'I4': '19'})
'10061095'
>>> main({'I1': '1', 'I2': '69', 'I3': '82', 'I4': '17'})
'8997003'
>>> main({'I1': '1', 'I2': '298', 'I3': '335', 'I4': '15'})
'8207957'
>>> main({'I1': '0', 'I2': '252', 'I3': '386', 'I4': '29'})
'15600120'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Целое.Тесты:
>>> main({'S1': '5', 'S2': '37', 'S3': '8', 'S5': '2', 'S6': '3'})
100959397
>>> main({'S1': '13', 'S2': '113', 'S3': '2', 'S5': '97', 'S6': '8'})
281161261
>>> main({'S1': '23', 'S2': '98', 'S3': '15', 'S5': '60', 'S6': '9'})
309918807
>>> main({'S1': '4', 'S2': '26', 'S3': '2', 'S5': '202', 'S6': '8'})
294921028
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('26812493')
'77', '0', '0', '9', '51')
(
>>> main('9068186')
'26', '13', '3', '18', '17')
(
>>> main('26903168')
'0', '5', '0', '20', '51')
(
>>> main('4702004')
'52', '14', '3', '61', '8') (
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('836938165')
'U2': 77, 'U3': 42, 'U4': 286, 'U5': 1}
{
>>> main('353392253')
'U2': 51, 'U3': 5, 'U4': 337, 'U5': 0}
{
>>> main('754889024')
'U2': 10, 'U3': 235, 'U4': 207, 'U5': 1}
{
>>> main('452998082')
'U2': 30, 'U3': 3, 'U4': 432, 'U5': 0} {
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('58714352')
'D1': '0xf0', 'D3': '0x1', 'D4': '0x37'}
{
>>> main('64791382')
'D1': '0x356', 'D3': '0x1', 'D4': '0x3d'}
{
>>> main('9164836')
'D1': '0x24', 'D3': '0x1', 'D4': '0x8'}
{
>>> main('64012141')
'D1': '0x36d', 'D3': '0x0', 'D4': '0x3d'} {
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main(('18', '1', '8', '13'))
'0x6c08012'
>>> main(('50', '5', '2', '14'))
'0x7128032'
>>> main(('121', '10', '2', '3'))
'0x1950079'
>>> main(('8', '13', '11', '4'))
'0x25e8008'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Тесты:
>>> main(2980619313)
'D1', 17), ('D2', 1), ('D4', 40), ('D5', 35), ('D6', 5)]
[(
>>> main(1346099350)
'D1', 22), ('D2', 4), ('D4', 59), ('D5', 32), ('D6', 2)]
[(
>>> main(855051537)
'D1', 17), ('D2', 8), ('D4', 119), ('D5', 37), ('D6', 1)]
[(
>>> main(1367623196)
'D1', 28), ('D2', 16), ('D4', 4), ('D5', 35), ('D6', 2)] [(
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Тесты:
>>> main(4023644)
'J1': 28, 'J2': 149, 'J4': 7}
{
>>> main(217603)
'J1': 3, 'J2': 72, 'J4': 0}
{
>>> main(246972)
'J1': 60, 'J2': 18, 'J4': 0}
{
>>> main(3230262)
'J1': 54, 'J2': 40, 'J4': 6} {
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('0x7bf4d6')
'0x9b7e79'
>>> main('0xba8a38')
'0x4651ba'
>>> main('0xb0475f')
'0xeb88b3'
>>> main('0x4db88d')
'0x10b74f'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('55453189')
'3465824'
>>> main('55999054')
'3499940'
>>> main('58987214')
'3686700'
>>> main('55026059')
'3439128'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main(5701308301)
'B1': '0x1', 'B2': '0x2', 'B3': '0x31', 'B4': '0x187', 'B5': '0x3a', 'B6': '0xa9'}
{
>>> main(1338380726)
'B1': '0x0', 'B2': '0x3', 'B3': '0x36', 'B4': '0x308', 'B5': '0x38', 'B6': '0x27'}
{
>>> main(6101043068)
'B1': '0x0', 'B2': '0x2', 'B3': '0x2f', 'B4': '0x343', 'B5': '0x34', 'B6': '0xb5'}
{
>>> main(6424019315)
'B1': '0x1', 'B2': '0x1', 'B3': '0x2e', 'B4': '0x360', 'B5': '0x1c', 'B6': '0xbf'} {
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('0x26467f0')
'0x261fc00'
>>> main('0x6d71151')
'0x6d45440'
>>> main('0xb0be371')
'0xb08dc40'
>>> main('0x1403230')
'0x1448c00'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Целое.
Тесты:
>>> main(87219)
45994
>>> main(78417)
20889
>>> main(62950)
124538
>>> main(50996)
78947
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('2871484')
'2871297'
>>> main('3946381')
'3946241'
>>> main('1753169')
'1753088'
>>> main('2896187')
'2896128'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('28542')
'L1', '0x6'), ('L2', '0x7'), ('L3', '0x1bd'), ('L4', '0x0')]
[(
>>> main('508')
'L1', '0x4'), ('L2', '0x7'), ('L3', '0x7'), ('L4', '0x0')]
[(
>>> main('21412')
'L1', '0x4'), ('L2', '0x4'), ('L3', '0x14e'), ('L4', '0x0')]
[(
>>> main('41489')
'L1', '0x1'), ('L2', '0x2'), ('L3', '0x88'), ('L4', '0x1')] [(
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main([('Q2', 25), ('Q3', 6), ('Q4', 45)])
'0x5bb200'
>>> main([('Q2', 0), ('Q3', 3), ('Q4', 183)])
'0x16ec000'
>>> main([('Q2', 14), ('Q3', 2), ('Q4', 149)])
'0x12a9c00'
>>> main([('Q2', 1), ('Q3', 7), ('Q4', 124)])
'0xf9c200'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main({'Q1': '94', 'Q2': '25', 'Q3': '104', 'Q4': '1'})
'0x5a325e'
>>> main({'Q1': '144', 'Q2': '1', 'Q3': '200', 'Q4': '0'})
'0x320290'
>>> main({'Q1': '220', 'Q2': '9', 'Q3': '100', 'Q4': '0'})
'0x1912dc'
>>> main({'Q1': '477', 'Q2': '2', 'Q3': '184', 'Q4': '1'})
'0x6e05dd'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main([('K1', '0x3'), ('K2', '0x5'), ('K3', '0xdf'), ('K4', '0x11'), ('K5', '0xdd')])
'0x6e91df53'
>>> main([('K1', '0xd'), ('K2', '0x9'), ('K3', '0xa0'), ('K4', '0x7d'), ('K5', '0x55')])
'0x2afda09d'
>>> main([('K1', '0x4'), ('K2', '0xe'), ('K3', '0x13'), ('K4', '0x5f'), ('K5', '0x34')])
'0x1a5f13e4'
>>> main([('K1', '0xe'), ('K2', '0x1'), ('K3', '0xcc'), ('K4', '0x40'), ('K5', '0xe7')])
'0x73c0cc1e'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main(39601516)
'B1': '0', 'B2': '347', 'B3': '8', 'B4': '6', 'B5': '37'}
{
>>> main(57140793)
'B1': '1', 'B2': '398', 'B3': '60', 'B4': '3', 'B5': '54'}
{
>>> main(9142459)
'B1': '3', 'B2': '46', 'B3': '48', 'B4': '5', 'B5': '8'}
{
>>> main(55040108)
'B1': '0', 'B2': '27', 'B3': '59', 'B4': '3', 'B5': '52'} {
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.
Выходные данные:
Десятичная строка.
Тесты:
>>> main(55709789024)
'46592419776'
>>> main(58409515150)
'60716018880'
>>> main(33371591140)
'19230113312'
>>> main(60926637746)
'58770944352'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('0x1b9d85')
'V2', '0x1b'), ('V3', '0x19'), ('V4', '0xd')]
[(
>>> main('0x5f8d5c')
'V2', '0x1a'), ('V3', '0x18'), ('V4', '0x2f')]
[(
>>> main('0x45945b')
'V2', '0x8'), ('V3', '0x19'), ('V4', '0x22')]
[(
>>> main('0xbf292')
'V2', '0x5'), ('V3', '0x1f'), ('V4', '0x5')] [(
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Целое.
Тесты:
>>> main(2086179139)
1126678710
>>> main(272531775)
1067516047
>>> main(1687650287)
1876840421
>>> main(945886826)
1783071512
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main(46049058761)
'0xc5dfc04d6'
>>> main(13359569942)
'0xe25c10360'
>>> main(29432921261)
'0xd2bca06d9'
>>> main(58657096372)
'0x41c2b0237'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('0x3390f6d1')
'0x51', '0x6d', '0x3', '0x8', '0x67')
(
>>> main('0x1294666b')
'0x6b', '0x4c', '0x1', '0xa', '0x25')
(
>>> main('0xc9ee368')
'0x68', '0x46', '0x3', '0xf', '0x19')
(
>>> main('0x17e26e5c')
'0x5c', '0x5c', '0x1', '0x31', '0x2f') (
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Целое.Тесты:
>>> main({'K1': '0x16', 'K2': '0x21', 'K3': '0xbd', 'K5': '0x1'})
135770262
>>> main({'K1': '0x17', 'K2': '0x3a', 'K3': '0x4b', 'K5': '0x2'})
269057303
>>> main({'K1': '0x22', 'K2': '0x25', 'K3': '0x19', 'K5': '0x1'})
134427298
>>> main({'K1': '0x38', 'K2': '0x3a', 'K3': '0x55', 'K5': '0x3'})
403356984