Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Целое.Тесты:
>>> main({'H1': '0x17c', 'H2': '0x68', 'H4': '0xb'})
5820796
>>> main({'H1': '0x1c3', 'H2': '0x5f', 'H4': '0x9'})
4767683
>>> main({'H1': '0x15e', 'H2': '0x2e', 'H4': '0xb'})
5791070
>>> main({'H1': '0xb9', 'H2': '0x1d', 'H4': '0x4'})
2112185
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Целое.Тесты:
>>> main([('Q1', 35), ('Q2', 0), ('Q4', 14), ('Q5', 50), ('Q6', 24)])
3326541859
>>> main([('Q1', 116), ('Q2', 1), ('Q4', 6), ('Q5', 48), ('Q6', 63)])
8556577012
>>> main([('Q1', 106), ('Q2', 0), ('Q4', 60), ('Q5', 54), ('Q6', 33)])
4544397418
>>> main([('Q1', 107), ('Q2', 1), ('Q4', 53), ('Q5', 58), ('Q6', 6)])
928678123
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('0xc11e18b31')
('49', '3', '49', '143', '0', '12')
>>> main('0xf66753529')
('41', '5', '678', '307', '1', '15')
>>> main('0x21b5a78ea')
('234', '0', '847', '218', '0', '2')
>>> main('0x76213033f')
('63', '3', '608', '272', '1', '7')
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Выходные данные:
Целое.Тесты:
>>> main({'B1': 0, 'B2': 5, 'B3': 15, 'B5': 4, 'B6': 61})
128976808
>>> main({'B1': 7, 'B2': 8, 'B3': 9, 'B5': 6, 'B6': 7})
16254151
>>> main({'B1': 3, 'B2': 2, 'B3': 4, 'B5': 7, 'B6': 1})
3932691
>>> main({'B1': 1, 'B2': 15, 'B3': 0, 'B5': 1, 'B6': 132})
277086329
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Целое.Тесты:
>>> main({'Y1': '0xa1', 'Y2': '0x334', 'Y3': '0x96', 'Y4': '0xb1'})
11917800609
>>> main({'Y1': '0x7c', 'Y2': '0x38a', 'Y3': '0x99', 'Y4': '0x106'})
17622862460
>>> main({'Y1': '0x9b', 'Y2': '0x23d', 'Y3': '0xdb', 'Y4': '0x145'})
21867937179
>>> main({'Y1': '0xcc', 'Y2': '0x20d', 'Y3': '0x98', 'Y4': '0xe0'})
15072366028
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('0x3119')
('0x1', '0x3', '0x8', '0x18')
>>> main('0xb00')
('0x0', '0x0', '0x8', '0x5')
>>> main('0x9e1')
('0x1', '0x0', '0xf', '0x4')
>>> main('0x1da6')
('0x6', '0x0', '0xd', '0xe')
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Тесты:
>>> main(312933)
[('W1', 5), ('W2', 3), ('W3', 35), ('W4', 1), ('W5', 2)]
>>> main(811863)
[('W1', 23), ('W2', 10), ('W3', 49), ('W4', 0), ('W5', 6)]
>>> main(47837)
[('W1', 29), ('W2', 6), ('W3', 29), ('W4', 1), ('W5', 0)]
>>> main(363058)
[('W1', 18), ('W2', 1), ('W3', 5), ('W4', 3), ('W5', 2)]
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main({'E1': '5', 'E2': '2', 'E3': '11', 'E4': '29', 'E5': '1', 'E6': '62'})
'0x1f2eae05'
>>> main({'E1': '124', 'E2': '3', 'E3': '0', 'E4': '11', 'E5': '0', 'E6': '182'})
'0x5b05837c'
>>> main({'E1': '185', 'E2': '0', 'E3': '14', 'E4': '36', 'E5': '3', 'E6': '190'})
'0x5f7238b9'
>>> main({'E1': '125', 'E2': '1', 'E3': '27', 'E4': '37', 'E5': '3', 'E6': '157'})
'0x4ef2ed7d'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('5523134628')
('36', '98', '2', '589', '20')
>>> main('15118087372')
('12', '83', '29', '326', '56')
>>> main('25049347161')
('25', '81', '21', '323', '93')
>>> main('12385852461')
('45', '112', '8', '144', '46')
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Целое.
Тесты:
>>> main(110109907)
109348051
>>> main(72506351)
72053999
>>> main(12033737)
15977929
>>> main(228681519)
229435439
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('0x5c3b75f8')
('0x18', '0x36e', '0x2e1')
>>> main('0x11eb85a8')
('0x8', '0x170', '0x8f')
>>> main('0x70068b00')
('0x0', '0xd1', '0x380')
>>> main('0x18050d01')
('0x1', '0xa1', '0xc0')
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Выходные данные:
Десятичная строка.Тесты:
>>> main((155, 2, 583, 1))
'3292315'
>>> main((85, 3, 510, 1))
'3143253'
>>> main((284, 1, 586, 0))
'1200924'
>>> main((248, 3, 534, 0))
'1095416'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Выходные данные:
Десятичная строка.Тесты:
>>> main((191, 7, 12))
'794364'
>>> main((19, 36, 38))
'2527308'
>>> main((220, 40, 0))
'41840'
>>> main((69, 4, 58))
'3805460'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Целое.Тесты:
>>> main([('N1', '0'), ('N3', '0'), ('N4', '53')])
434176
>>> main([('N1', '0'), ('N3', '1'), ('N4', '65')])
534528
>>> main([('N1', '0'), ('N3', '3'), ('N4', '116')])
956416
>>> main([('N1', '0'), ('N3', '2'), ('N4', '76')])
626688
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main(('0x7f', '0x3', '0x1', '0x24'))
'0x1277f'
>>> main(('0xdc', '0x2', '0x0', '0x39'))
'0x1cadc'
>>> main(('0x37', '0x0', '0x0', '0x29'))
'0x14837'
>>> main(('0xf3', '0x2', '0x1', '0x31'))
'0x18ef3'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main(180518783)
[('B1', '0x37f'), ('B2', '0xf'), ('B3', '0x9'), ('B5', '0x1')]
>>> main(187959999)
[('B1', '0x2bf'), ('B2', '0x2'), ('B3', '0x50'), ('B5', '0x1')]
>>> main(200976407)
[('B1', '0x17'), ('B2', '0xa'), ('B3', '0x6a'), ('B5', '0x1')]
>>> main(40710504)
[('B1', '0x168'), ('B2', '0xc'), ('B3', '0x34'), ('B5', '0x0')]
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Целое.Тесты:
>>> main({'T1': '0x2', 'T2': '0x15', 'T3': '0xeb', 'T4': '0x47', 'T5': '0x1d8', 'T6': '0x19'})
218712501162
>>> main({'T1': '0x1', 'T2': '0x1c', 'T3': '0x19', 'T4': '0x66', 'T5': '0x319', 'T6': '0xe'})
126917941729
>>> main({'T1': '0x3', 'T2': '0x10', 'T3': '0x5', 'T4': '0x2e', 'T5': '0x322', 'T6': '0xc'})
109809894787
>>> main({'T1': '0x6', 'T2': '0x9', 'T3': '0xd6', 'T4': '0x21', 'T5': '0x361', 'T6': '0x11'})
153287251534
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main(('0x0', '0x1b', '0x2'))
'310'
>>> main(('0x0', '0x11', '0x2'))
'290'
>>> main(('0x1', '0x1a', '0x2'))
'309'
>>> main(('0x1', '0xa', '0x2'))
'277'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Целое.
Тесты:
>>> main('0x7e54509c')
340947449
>>> main('0x657e4959')
3192219029
>>> main('0xfd99ffc5')
3657373686
>>> main('0x3d9f56c8')
1599807734
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Целое.Тесты:
>>> main([('K1', '0x0'), ('K2', '0x41'), ('K3', '0x4'), ('K4', '0x7')])
1839234
>>> main([('K1', '0x1'), ('K2', '0x1fb'), ('K3', '0x39'), ('K4', '0x0')])
59383
>>> main([('K1', '0x1'), ('K2', '0x2b'), ('K3', '0xfc'), ('K4', '0x3')])
1044567
>>> main([('K1', '0x0'), ('K2', '0x159'), ('K3', '0xf'), ('K4', '0x7')])
1851058
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.
Выходные данные:
Десятичная строка.
Тесты:
>>> main(201760)
'100896'
>>> main(149733)
'74981'
>>> main(254126)
'127150'
>>> main(205408)
'233568'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main(380331909)
'0x1699f5d0'
>>> main(374600774)
'0x167d09e8'
>>> main(48984570)
'0x2dc75af'
>>> main(92506141)
'0x5a201d3'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('0x21762fade')
[('L1', '0xde'), ('L2', '0x3d'), ('L3', '0x2c5'), ('L4', '0x3'), ('L5', '0x42')]
>>> main('0x8404d81b')
[('L1', '0x1b'), ('L2', '0x2c'), ('L3', '0x9'), ('L4', '0x2'), ('L5', '0x10')]
>>> main('0x28b488004')
[('L1', '0x4'), ('L2', '0x0'), ('L3', '0x291'), ('L4', '0x1'), ('L5', '0x51')]
>>> main('0x17e479107')
[('L1', '0x107'), ('L2', '0x8'), ('L3', '0x8f'), ('L4', '0x3'), ('L5', '0x2f')]
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.
Выходные данные:
Целое.
Тесты:
>>> main(1578019283211)
3102091963136
>>> main(2759335678308)
1006509761536
>>> main(1337362877518)
3036815781376
>>> main(1623572447287)
34562619136
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Целое.
Тесты:
>>> main(2309048)
1173364
>>> main(2293596)
1144811
>>> main(327929)
2285596
>>> main(567600)
279846
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Тесты:
>>> main(16047394)
{'O1': 2, 'O2': 82, 'O3': 155, 'O4': 30, 'O5': 0}
>>> main(89991664)
{'O1': 0, 'O2': 31, 'O3': 165, 'O4': 43, 'O5': 1}
>>> main(42916171)
{'O1': 11, 'O2': 20, 'O3': 219, 'O4': 81, 'O5': 0}
>>> main(36249849)
{'O1': 9, 'O2': 15, 'O3': 36, 'O4': 69, 'O5': 0}
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Десятичная строка.
Тесты:
>>> main(1284779083)
'740706891'
>>> main(6024969271)
'7460851255'
>>> main(3235157976)
'2539678424'
>>> main(142505722)
'1979990010'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Выходные данные:
Целое.Тесты:
>>> main({'X1': 3, 'X2': 6, 'X3': 255, 'X4': 3})
32763
>>> main({'X1': 0, 'X2': 6, 'X3': 62, 'X4': 2})
18392
>>> main({'X1': 3, 'X2': 5, 'X3': 93, 'X4': 2})
19383
>>> main({'X1': 2, 'X2': 1, 'X3': 217, 'X4': 1})
15142
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Целое.Тесты:
>>> main([('O1', 31), ('O2', 3), ('O3', 943), ('O4', 160)])
84369023
>>> main([('O1', 5), ('O2', 13), ('O3', 617), ('O4', 117)])
61658021
>>> main([('O1', 10), ('O2', 10), ('O3', 687), ('O4', 67)])
35479370
>>> main([('O1', 8), ('O2', 12), ('O3', 17), ('O4', 160)])
83895176
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main(('0x0', '0x0', '0x2a6'))
'2777088'
>>> main(('0x0', '0x1', '0x154'))
'1394688'
>>> main(('0x1', '0x1', '0x1b0'))
'1772544'
>>> main(('0x0', '0x1', '0x242'))
'2369536'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('1765410')
{'Q1': 34, 'Q2': 0, 'Q3': 431}
>>> main('1195981')
{'Q1': 973, 'Q2': 3, 'Q3': 291}
>>> main('105736')
{'Q1': 264, 'Q2': 3, 'Q3': 25}
>>> main('12214')
{'Q1': 950, 'Q2': 3, 'Q3': 2}
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('57045')
'0x1e357'
>>> main('233244')
'0xfe70'
>>> main('188473')
'0x20be4'
>>> main('172930')
'0x23a0a'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('0x3d3bbfe')
('0', '15', '31', '14', '334', '7')
>>> main('0x3512202')
('0', '1', '16', '8', '324', '6')
>>> main('0x653864')
('0', '2', '3', '14', '404', '0')
>>> main('0x648c01e')
('0', '15', '0', '0', '291', '12')
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Целое.Тесты:
>>> main({'W1': '0x6', 'W2': '0x0', 'W4': '0xf'})
491526
>>> main({'W1': '0x4', 'W2': '0x6', 'W4': '0x4'})
131124
>>> main({'W1': '0x4', 'W2': '0x1', 'W4': '0x1f'})
1015820
>>> main({'W1': '0x6', 'W2': '0x4', 'W4': '0xe'})
458790
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('281456')
'151772'
>>> main('301694')
'315551'
>>> main('176532')
'362597'
>>> main('851879')
'521705'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main(('126', '1', '10', '33'))
'1092222'
>>> main(('216', '0', '11', '45'))
'1486040'
>>> main(('19', '0', '25', '49'))
'1631251'
>>> main(('55', '1', '11', '56'))
'1846839'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('M1', '0x17'), ('M2', '0x3'), ('M3', '0x4b'), ('M4', '0x7a')])
'8033911'
>>> main([('M1', '0x2'), ('M2', '0x0'), ('M3', '0x39'), ('M4', '0x14c')])
'21787138'
>>> main([('M1', '0xa'), ('M2', '0x5'), ('M3', '0x73'), ('M4', '0x12c')])
'19719850'
>>> main([('M1', '0xc'), ('M2', '0xd'), ('M3', '0x66'), ('M4', '0x40')])
'4246956'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('12129408')
{'A1': '0x0', 'A2': '0x2', 'A3': '0x0', 'A4': '0x8a', 'A5': '0x2e'}
>>> main('59209636')
{'A1': '0x24', 'A2': '0x2', 'A3': '0x1', 'A4': '0x1bb', 'A5': '0xe1'}
>>> main('51809806')
{'A1': '0xe', 'A2': '0x0', 'A3': '0x0', 'A4': '0x147', 'A5': '0xc5'}
>>> main('19810928')
{'A1': '0x30', 'A2': '0x1', 'A3': '0x0', 'A4': '0x125', 'A5': '0x4b'}
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main({'U1': 3, 'U2': 1, 'U3': 0, 'U4': 111, 'U5': 5, 'U6': 14})
'0x395bc7'
>>> main({'U1': 0, 'U2': 0, 'U3': 2, 'U4': 165, 'U5': 0, 'U6': 26})
'0x682950'
>>> main({'U1': 1, 'U2': 0, 'U3': 3, 'U4': 63, 'U5': 13, 'U6': 8})
'0x234fd9'
>>> main({'U1': 2, 'U2': 1, 'U3': 0, 'U4': 15, 'U5': 6, 'U6': 13})
'0x3583c6'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main(79737447)
{'T1': '0x3', 'T2': '0x1', 'T3': '0x193', 'T4': '0x2', 'T5': '0x4c'}
>>> main(829379928)
{'T1': '0x0', 'T2': '0x6', 'T3': '0xaa', 'T4': '0x3d', 'T5': '0x316'}
>>> main(667196275)
{'T1': '0x3', 'T2': '0x4', 'T3': '0xdb', 'T4': '0x12', 'T5': '0x27c'}
>>> main(147103215)
{'T1': '0x3', 'T2': '0x3', 'T3': '0xef', 'T4': '0x12', 'T5': '0x8c'}