Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('28855289900247')
'23', '947', '333', '50', '124', '104')
(
>>> main('30016601441150')
'62', '781', '221', '36', '25', '109')
(
>>> main('32062294845555')
'51', '929', '433', '10', '82', '116')
(
>>> main('33678347237682')
'50', '484', '492', '44', '66', '122') (
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main(1166323)
'F1': '243', 'F2': '11', 'F3': '28', 'F5': '0'}
{
>>> main(123735251)
'F1': '211', 'F2': '12', 'F3': '0', 'F5': '7'}
{
>>> main(251928537)
'F1': '217', 'F2': '15', 'F3': '1', 'F5': '15'}
{
>>> main(115978105)
'F1': '121', 'F2': '15', 'F3': '26', 'F5': '6'} {
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Десятичная строка.
Тесты:
>>> main(446139017796)
'355307355204'
>>> main(174709002121)
'536504655241'
>>> main(391726059960)
'90576858552'
>>> main(440767912303)
'41232627055'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('N1', 241), ('N3', 18), ('N4', 0), ('N5', 124)])
'65048817'
>>> main([('N1', 366), ('N3', 72), ('N4', 0), ('N5', 56)])
'29507950'
>>> main([('N1', 414), ('N3', 6), ('N4', 1), ('N5', 8)])
'4469150'
>>> main([('N1', 426), ('N3', 123), ('N4', 0), ('N5', 29)])
'15456682'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main((5, 4, 2, 13))
'0x6a085'
>>> main((1, 0, 4, 3))
'0x1c001'
>>> main((25, 6, 4, 3))
'0x1c0d9'
>>> main((11, 5, 7, 11))
'0x5f0ab'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main({'L1': 12, 'L2': 54, 'L3': 31, 'L5': 0, 'L6': 57})
'0x72007f6c'
>>> main({'L1': 7, 'L2': 11, 'L3': 26, 'L5': 1, 'L6': 300})
'0x2588068b7'
>>> main({'L1': 0, 'L2': 22, 'L3': 10, 'L5': 3, 'L6': 76})
'0x99802960'
>>> main({'L1': 7, 'L2': 13, 'L3': 9, 'L5': 3, 'L6': 949})
'0x76b8024d7'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('864660')
'0x69994'
>>> main('144998')
'0x11e66'
>>> main('337039')
'0x2948f'
>>> main('770603')
'0x5e22b'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Целое.
Тесты:
>>> main('0x495c8183')
844378824
>>> main('0x3351c090')
349503772
>>> main('0x1f9f2d4d')
7245975794
>>> main('0xb20904e5')
2625787280
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('0x73796')
'2', '1', '1', '60', '3', '14')
(
>>> main('0x33444')
'0', '1', '0', '34', '3', '6')
(
>>> main('0x7104b')
'3', '2', '0', '2', '1', '14')
(
>>> main('0x6b19c')
'0', '3', '1', '12', '3', '13') (
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Выходные данные:
Десятичная строка.Тесты:
>>> main((228, 30, 1, 0, 103))
'432528512'
>>> main((200, 4, 4, 0, 42))
'177248512'
>>> main((17, 25, 0, 0, 86))
'360915488'
>>> main((141, 25, 6, 1, 12))
'54210976'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main(('0x3', '0x12a', '0xd', '0x4', '0x5b', '0x5'))
'0x16dc6cab'
>>> main(('0x0', '0xe2', '0x16', '0x7', '0x31', '0x4'))
'0x118fb388'
>>> main(('0x3', '0x1b7', '0x19', '0x4', '0x1d', '0x4'))
'0x10eccedf'
>>> main(('0x3', '0x1c6', '0x14', '0x0', '0x2d', '0x3'))
'0xd68a71b'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('G1', '22'), ('G2', '114'), ('G3', '0'), ('G4', '42')])
'1383574'
>>> main([('G1', '44'), ('G2', '42'), ('G3', '3'), ('G4', '206')])
'6777516'
>>> main([('G1', '54'), ('G2', '20'), ('G3', '2'), ('G4', '154')])
'5063990'
>>> main([('G1', '21'), ('G2', '100'), ('G3', '1'), ('G4', '28')])
'932117'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Тесты:
>>> main(143802392)
24, 256, 146, 2)
(
>>> main(930853138)
18, 708, 891, 13)
(
>>> main(1018805429)
53, 754, 185, 15)
(
>>> main(340098289)
49, 499, 69, 5) (
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('90647')
'0x1010b'
>>> main('53145')
'0x100cc'
>>> main('3328')
'0x80'
>>> main('64223')
'0x1006f'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Выходные данные:
Десятичная строка.Тесты:
>>> main((13, 63, 6, 5))
'42171917'
>>> main((396, 22, 7, 695))
'5830323596'
>>> main((361, 44, 17, 770))
'6459808105'
>>> main((245, 31, 30, 591))
'4958666485'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('0xea39e98')
'0x1c9d33a8'
>>> main('0xd3d980d')
'0x2cf0134d'
>>> main('0x68f7b94')
'0x3bb721a4'
>>> main('0x322ea224')
'0x35244c8c'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main(1210838)
'I2', '13'), ('I3', '633'), ('I4', '4')]
[(
>>> main(3803107)
'I2', '14'), ('I3', '519'), ('I4', '14')]
[(
>>> main(2459440)
'I2', '3'), ('I3', '391'), ('I4', '9')]
[(
>>> main(920885)
'I2', '3'), ('I3', '525'), ('I4', '3')] [(
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main([('P2', '2'), ('P3', '66'), ('P4', '10'), ('P5', '13'), ('P6', '3')])
'0x1ed428'
>>> main([('P2', '3'), ('P3', '62'), ('P4', '8'), ('P5', '13'), ('P6', '3')])
'0x1ec3ec'
>>> main([('P2', '0'), ('P3', '110'), ('P4', '8'), ('P5', '14'), ('P6', '1')])
'0xf46e0'
>>> main([('P2', '0'), ('P3', '70'), ('P4', '1'), ('P5', '12'), ('P6', '0')])
'0x60c60'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Выходные данные:
Целое.Тесты:
>>> main((88, 357, 1, 65))
17216216
>>> main((29, 605, 0, 91))
23932573
>>> main((102, 893, 1, 79))
20954854
>>> main((37, 406, 0, 12))
3197733
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main(1737741)
'0x103435'
>>> main(3571161)
'0x3763ed'
>>> main(2084996)
'0x21ebc'
>>> main(3283838)
'0x2df0e6'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('I1', '189'), ('I2', '1'), ('I3', '539'), ('I4', '31'), ('I5', '104'), ('I6', '0')])
'3506190269'
>>> main([('I1', '74'), ('I2', '1'), ('I3', '573'), ('I4', '14'), ('I5', '126'), ('I6', '0')])
'4235492170'
>>> main([('I1', '161'), ('I2', '0'), ('I3', '821'), ('I4', '56'), ('I5', '29'), ('I6', '0')])
'1002859169'
>>> main([('I1', '141'), ('I2', '1'), ('I3', '514'), ('I4', '31'), ('I5', '204'), ('I6', '1')])
'15451555213'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Целое.Тесты:
>>> main([('Y1', 7), ('Y2', 9), ('Y3', 346), ('Y4', 0)])
354455
>>> main([('Y1', 9), ('Y2', 2), ('Y3', 149), ('Y4', 0)])
152617
>>> main([('Y1', 13), ('Y2', 56), ('Y3', 833), ('Y4', 0)])
853901
>>> main([('Y1', 6), ('Y2', 25), ('Y3', 903), ('Y4', 1)])
1973654
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('704025')
'M1', '25'), ('M2', '380'), ('M3', '2'), ('M4', '1')]
[(
>>> main('123501')
'M1', '109'), ('M2', '452'), ('M3', '1'), ('M4', '0')]
[(
>>> main('106599')
'M1', '103'), ('M2', '320'), ('M3', '1'), ('M4', '0')]
[(
>>> main('833666')
'M1', '2'), ('M2', '369'), ('M3', '4'), ('M4', '1')] [(
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Выходные данные:
Целое.Тесты:
>>> main((23, 11, 11, 1, 165, 0))
43480599
>>> main((68, 12, 8, 1, 4, 9))
605231172
>>> main((16, 9, 0, 1, 110, 8))
565842448
>>> main((55, 15, 12, 1, 82, 14))
961257015
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main({'P1': 75, 'P2': 0, 'P3': 29, 'P4': 0})
'0x744b'
>>> main({'P1': 48, 'P2': 1, 'P3': 25, 'P4': 1})
'0xe4b0'
>>> main({'P1': 28, 'P2': 4, 'P3': 5, 'P4': 0})
'0x161c'
>>> main({'P1': 114, 'P2': 4, 'P3': 17, 'P4': 1})
'0xc672'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main(('0xb', '0xd', '0x8', '0x7'))
'0x3a0680b'
>>> main(('0x13', '0x3c', '0x1d', '0x3'))
'0x1f5e013'
>>> main(('0x4', '0x5b', '0xa', '0x4'))
'0x22ad804'
>>> main(('0x13', '0x3', '0x16', '0x4'))
'0x2581813'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Целое.Тесты:
>>> main({'O1': '608', 'O2': '0', 'O3': '2'})
4704
>>> main({'O1': '542', 'O2': '1', 'O3': '2'})
5662
>>> main({'O1': '688', 'O2': '1', 'O3': '21'})
44720
>>> main({'O1': '145', 'O2': '1', 'O3': '2'})
5265
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('0x6797ca22')
'V1': '0x0', 'V3': '0x65', 'V4': '0x197', 'V5': '0x33'}
{
>>> main('0x2945b4dc')
'V1': '0x0', 'V3': '0x5a', 'V4': '0x145', 'V5': '0x14'}
{
>>> main('0xa0dd94f7')
'V1': '0x1', 'V3': '0x4a', 'V4': '0xdd', 'V5': '0x50'}
{
>>> main('0xe14f277')
'V1': '0x1', 'V3': '0x79', 'V4': '0x14', 'V5': '0x7'} {
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('P1', '5'), ('P2', '3'), ('P3', '2'), ('P5', '4')])
'262453'
>>> main([('P1', '5'), ('P2', '0'), ('P3', '0'), ('P5', '24')])
'1572869'
>>> main([('P1', '5'), ('P2', '6'), ('P3', '1'), ('P5', '28')])
'1835237'
>>> main([('P1', '13'), ('P2', '1'), ('P3', '3'), ('P5', '1')])
'65949'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main([('N1', '9'), ('N2', '1'), ('N3', '9'), ('N4', '43'), ('N5', '241'), ('N6', '26')])
'0x35e35a69'
>>> main([('N1', '1'), ('N2', '1'), ('N3', '17'), ('N4', '42'), ('N5', '71'), ('N6', '1')])
'0x28f5461'
>>> main([('N1', '24'), ('N2', '0'), ('N3', '5'), ('N4', '49'), ('N5', '191'), ('N6', '3')])
'0x77f8958'
>>> main([('N1', '24'), ('N2', '1'), ('N3', '12'), ('N4', '3'), ('N5', '250'), ('N6', '19')])
'0x27f41b38'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('3347854')
'0x4cc63a'
>>> main('5269003')
'0x14182f'
>>> main('2501586')
'0x298f49'
>>> main('2957484')
'0xb4ab0'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Целое.Тесты:
>>> main([('M2', 18), ('M3', 9), ('M4', 0), ('M5', 1), ('M6', 558)])
292893184
>>> main([('M2', 20), ('M3', 5), ('M4', 1), ('M5', 0), ('M6', 856)])
448967680
>>> main([('M2', 23), ('M3', 4), ('M4', 1), ('M5', 1), ('M6', 546)])
286693120
>>> main([('M2', 31), ('M3', 5), ('M4', 1), ('M5', 0), ('M6', 752)])
394444544
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('0x552bc')
'O1', '12'), ('O2', '43'), ('O3', '85')]
[(
>>> main('0x65a18')
'O1', '8'), ('O2', '161'), ('O3', '101')]
[(
>>> main('0x51d4d')
'O1', '13'), ('O2', '212'), ('O3', '81')]
[(
>>> main('0x85c04')
'O1', '4'), ('O2', '192'), ('O3', '133')] [(
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Целое.
Тесты:
>>> main('0x1cf562014')
335793836
>>> main('0x2203e0c0')
3221364743
>>> main('0x170c0a033')
855732609
>>> main('0x940d4916')
4664103962
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Выходные данные:
Десятичная строка.Тесты:
>>> main({'U1': 1, 'U2': 28, 'U3': 28, 'U4': 2, 'U5': 32, 'U6': 216})
'14512297785'
>>> main({'U1': 0, 'U2': 13, 'U3': 30, 'U4': 117, 'U5': 8, 'U6': 216})
'14499950490'
>>> main({'U1': 0, 'U2': 31, 'U3': 11, 'U4': 128, 'U5': 84, 'U6': 229})
'15412232958'
>>> main({'U1': 1, 'U2': 10, 'U3': 14, 'U4': 139, 'U5': 37, 'U6': 254})
'17065335701'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('15475119')
'0x6', '0x161', '0x3')
(
>>> main('44002996')
'0x3a', '0xfb', '0xa')
(
>>> main('12101652')
'0x20', '0x1c5', '0x2')
(
>>> main('30623841')
'0x21', '0x9a', '0x7') (
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main([('E1', 694), ('E2', 491), ('E3', 479), ('E4', 0), ('E5', 210)])
'0x348effaeb6'
>>> main([('E1', 76), ('E2', 30), ('E3', 366), ('E4', 3), ('E5', 840)])
'0xd23b70784c'
>>> main([('E1', 803), ('E2', 381), ('E3', 120), ('E4', 2), ('E5', 530)])
'0x84a3c5f723'
>>> main([('E1', 244), ('E2', 423), ('E3', 496), ('E4', 0), ('E5', 463)])
'0x73cf869cf4'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Целое.Тесты:
>>> main(('0x5c', '0x5', '0xb8', '0x1', '0x3'))
101114588
>>> main(('0x70', '0x3', '0xeb', '0x0', '0x7'))
235122160
>>> main(('0x15', '0x1', '0x63', '0x3', '0x1'))
34442389
>>> main(('0x78', '0x2', '0x2', '0x3', '0x6'))
202115448
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main(13654771)
'X1': '115', 'X2': '5', 'X3': '22', 'X4': '4', 'X5': '3'}
{
>>> main(1828227)
'X1': '3', 'X2': '3', 'X3': '249', 'X4': '6', 'X5': '0'}
{
>>> main(6274348)
'X1': '44', 'X2': '2', 'X3': '239', 'X4': '7', 'X5': '1'}
{
>>> main(349817)
'X1': '121', 'X2': '4', 'X3': '85', 'X4': '1', 'X5': '0'} {
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Целое.Тесты:
>>> main([('X1', 13), ('X2', 156), ('X3', 0), ('X4', 19)])
4985741
>>> main([('X1', 11), ('X2', 246), ('X3', 7), ('X4', 1)])
327371
>>> main([('X1', 12), ('X2', 187), ('X3', 12), ('X4', 50)])
13211500
>>> main([('X1', 14), ('X2', 175), ('X3', 7), ('X4', 48)])
12645870