Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main(2518359652)
{'W1': '0x4', 'W3': '0x18f', 'W4': '0x2', 'W5': '0x1', 'W6': '0x96'}
>>> main(167778820)
{'W1': '0x4', 'W3': '0xd', 'W4': '0x0', 'W5': '0x0', 'W6': '0xa'}
>>> main(4163213340)
{'W1': '0x1c', 'W3': '0xcc', 'W4': '0x1', 'W5': '0x2', 'W6': '0xf8'}
>>> main(2407526411)
{'W1': '0xb', 'W3': '0x1f8', 'W4': '0x3', 'W5': '0x7', 'W6': '0x8f'}
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('1823191747')
'223831478'
>>> main('1918517506')
'146047545'
>>> main('159011135')
'4277445124'
>>> main('2552310756')
'2420266956'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main({'N2': 5, 'N3': 39, 'N4': 0})
'0x4ea'
>>> main({'N2': 6, 'N3': 43, 'N4': 0})
'0x56c'
>>> main({'N2': 11, 'N3': 59, 'N4': 1})
'0xf76'
>>> main({'N2': 15, 'N3': 55, 'N4': 2})
'0x16fe'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Целое.
Тесты:
>>> main('0xeca9ad8')
225080882
>>> main('0xb808a67')
87185888
>>> main('0x23f31f3')
150770895
>>> main('0xb0316f3')
192699584
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('0x3c8f1')
'51447'
>>> main('0x2ca39')
'51773'
>>> main('0xae29')
'44585'
>>> main('0x13667')
'243298'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('0x122a0')
{'J1': '0x0', 'J2': '0xa8', 'J3': '0x2', 'J4': '0x2'}
>>> main('0x9196')
{'J1': '0x2', 'J2': '0x65', 'J3': '0x1', 'J4': '0x1'}
>>> main('0x8176')
{'J1': '0x2', 'J2': '0x5d', 'J3': '0x0', 'J4': '0x1'}
>>> main('0x1d34f')
{'J1': '0x3', 'J2': '0xd3', 'J3': '0x5', 'J4': '0x3'}
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('118418853')
'0x34a00601c'
>>> main('14890343821')
'0x31a006dde'
>>> main('5204226055')
'0xe0004d8'
>>> main('6913124706')
'0x2c4004670'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main([('I2', '0x0'), ('I3', '0x6f'), ('I4', '0x172'), ('I5', '0x0')])
'0x5c9bc00'
>>> main([('I2', '0x1'), ('I3', '0x77'), ('I4', '0xfe'), ('I5', '0x0')])
'0x3f9de00'
>>> main([('I2', '0x0'), ('I3', '0x27'), ('I4', '0x135'), ('I5', '0x2')])
'0x14d49c00'
>>> main([('I2', '0x0'), ('I3', '0x8a'), ('I4', '0x13e'), ('I5', '0x0')])
'0x4fa2800'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Десятичная строка.
Тесты:
>>> main(974844340)
'243711412'
>>> main(434089755)
'913828635'
>>> main(771267074)
'729687554'
>>> main(292344932)
'341521508'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main(414194)
('0x32', '0x7', '0x4', '0x32')
>>> main(876888)
('0x18', '0x5', '0x0', '0x6b')
>>> main(615302)
('0x6', '0xe', '0x0', '0x4b')
>>> main(291187)
('0x33', '0x5', '0x4', '0x23')
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Целое.Тесты:
>>> main({'B1': '6', 'B3': '14', 'B4': '88', 'B5': '26', 'B6': '9'})
19749094
>>> main({'B1': '4', 'B3': '3', 'B4': '108', 'B5': '33', 'B6': '9'})
19983412
>>> main({'B1': '0', 'B3': '9', 'B4': '96', 'B5': '25', 'B6': '11'})
23912592
>>> main({'B1': '0', 'B3': '4', 'B4': '14', 'B5': '0', 'B6': '7'})
14683712
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('0xcdadd2')
{'T1': '0x12', 'T2': '0x6e', 'T3': '0x2d', 'T4': '0x19', 'T5': '0x0'}
>>> main('0x3adf29a')
{'T1': '0x1a', 'T2': '0x94', 'T3': '0x2f', 'T4': '0x15', 'T5': '0x3'}
>>> main('0x5a11f0')
{'T1': '0x10', 'T2': '0x8f', 'T3': '0x10', 'T4': '0xb', 'T5': '0x0'}
>>> main('0x277cecb')
{'T1': '0xb', 'T2': '0x76', 'T3': '0x3e', 'T4': '0xe', 'T5': '0x2'}
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('8880341216')
[('K2', '14'), ('K3', '317'), ('K4', '529')]
>>> main('1056474640')
[('K2', '97'), ('K3', '994'), ('K4', '62')]
>>> main('12248052260')
[('K2', '802'), ('K3', '41'), ('K4', '730')]
>>> main('6047515493')
[('K2', '54'), ('K3', '471'), ('K4', '360')]
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('0x9090')
{'Z1': 144, 'Z3': 18, 'Z4': 0}
>>> main('0xdc6aa')
{'Z1': 170, 'Z3': 184, 'Z4': 1}
>>> main('0x2c904')
{'Z1': 260, 'Z3': 89, 'Z4': 0}
>>> main('0x1aeea4')
{'Z1': 164, 'Z3': 93, 'Z4': 3}
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('117245162381')
(13, 14, 3, 182, 422, 3)
>>> main('97664451488')
(32, 14, 4, 642, 862, 2)
>>> main('39429126781')
(61, 41, 3, 81, 151, 1)
>>> main('7138766775')
(55, 62, 6, 769, 212, 0)
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main(8454614330)
[('D1', '2'), ('D3', '180'), ('D4', '239'), ('D5', '55'), ('D6', '7')]
>>> main(2490469919)
[('D1', '3'), ('D3', '568'), ('D4', '113'), ('D5', '20'), ('D6', '2')]
>>> main(7923547111)
[('D1', '3'), ('D3', '751'), ('D4', '71'), ('D5', '24'), ('D6', '7')]
>>> main(4838398817)
[('D1', '1'), ('D3', '109'), ('D4', '100'), ('D5', '32'), ('D6', '4')]
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Выходные данные:
Целое.Тесты:
>>> main((5, 25, 9, 0, 0, 310))
81274261
>>> main((2, 9, 3, 0, 5, 52))
13798546
>>> main((14, 37, 11, 0, 6, 18))
4927070
>>> main((12, 44, 0, 1, 6, 399))
104809164
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('70216119934')
{'R1': '30', 'R2': '947', 'R3': '1', 'R4': '10', 'R5': '73', 'R6': '261'}
>>> main('26232335199')
{'R1': '31', 'R2': '346', 'R3': '3', 'R4': '8', 'R5': '92', 'R6': '97'}
>>> main('7197455379')
{'R1': '19', 'R2': '928', 'R3': '0', 'R4': '0', 'R5': '104', 'R6': '26'}
>>> main('122626921617')
{'R1': '17', 'R2': '676', 'R3': '0', 'R4': '1', 'R5': '105', 'R6': '456'}
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('0xa57e0c7')
{'O1': '7', 'O3': '0', 'O4': '6', 'O5': '175', 'O6': '10'}
>>> main('0x36db8488')
{'O1': '8', 'O3': '1', 'O4': '0', 'O5': '439', 'O6': '54'}
>>> main('0xfffb6c2')
{'O1': '2', 'O3': '1', 'O4': '3', 'O5': '511', 'O6': '15'}
>>> main('0x2c271c17')
{'O1': '7', 'O3': '3', 'O4': '1', 'O5': '78', 'O6': '44'}
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Выходные данные:
Целое.Тесты:
>>> main({'P1': 46, 'P3': 5, 'P4': 5})
1392686
>>> main({'P1': 6, 'P3': 13, 'P4': 1})
475142
>>> main({'P1': 58, 'P3': 14, 'P4': 2})
753722
>>> main({'P1': 48, 'P3': 8, 'P4': 2})
655408
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Целое.Тесты:
>>> main({'V1': '8', 'V2': '9', 'V3': '1', 'V4': '42'})
1377432
>>> main({'V1': '5', 'V2': '0', 'V3': '26', 'V4': '48'})
1599493
>>> main({'V1': '13', 'V2': '12', 'V3': '24', 'V4': '13'})
450765
>>> main({'V1': '5', 'V2': '23', 'V3': '30', 'V4': '9'})
326005
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main({'L1': '7', 'L3': '3', 'L4': '183', 'L5': '7'})
'4045191'
>>> main({'L1': '9', 'L3': '12', 'L4': '132', 'L5': '4'})
'2369033'
>>> main({'L1': '10', 'L3': '2', 'L4': '206', 'L5': '2'})
'1470730'
>>> main({'L1': '4', 'L3': '0', 'L4': '250', 'L5': '2'})
'1560580'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main({'G1': '0x0', 'G2': '0x0', 'G3': '0x4', 'G4': '0x3', 'G5': '0x4e'})
'640640'
>>> main({'G1': '0x8', 'G2': '0x0', 'G3': '0xa', 'G4': '0x5', 'G5': '0x16'})
'183112'
>>> main({'G1': '0x4', 'G2': '0x1', 'G3': '0xe', 'G4': '0xd', 'G5': '0x34'})
'433108'
>>> main({'G1': '0xd', 'G2': '0x1', 'G3': '0x1', 'G4': '0x7', 'G5': '0x34'})
'429629'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Десятичная строка.
Тесты:
>>> main(2161187246)
'1181458484'
>>> main(684092803)
'2606811697'
>>> main(970203467)
'139644533'
>>> main(1025957714)
'3084160841'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('0x4787f1')
'0x207f1e1'
>>> main('0xb02ae1')
'0x186e20a'
>>> main('0x7a5772')
'0x3cb7095'
>>> main('0x73a8d2')
'0x388d0ea'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('3672109224')
{'S1': '0', 'S2': '10', 'S3': '97', 'S5': '2', 'S6': '437'}
>>> main('5879289368')
{'S1': '0', 'S2': '6', 'S3': '44', 'S5': '3', 'S6': '700'}
>>> main('463798034')
{'S1': '2', 'S2': '4', 'S3': '126', 'S5': '1', 'S6': '55'}
>>> main('8552610419')
{'S1': '3', 'S2': '28', 'S3': '116', 'S5': '2', 'S6': '1019'}
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main(('0x9', '0x2d', '0x15'))
'43737'
>>> main(('0x9', '0x70', '0x3d'))
'126729'
>>> main(('0x1', '0x24', '0x6b'))
'219713'
>>> main(('0xa', '0x66', '0x1e'))
'63082'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('0x18208')
[('M1', '0x8'), ('M2', '0x8'), ('M3', '0x0'), ('M4', '0x6')]
>>> main('0x1ddc3')
[('M1', '0x3'), ('M2', '0x77'), ('M3', '0x0'), ('M4', '0x7')]
>>> main('0x2328b')
[('M1', '0xb'), ('M2', '0x4a'), ('M3', '0x1'), ('M4', '0x8')]
>>> main('0x3483e')
[('M1', '0x3e'), ('M2', '0x20'), ('M3', '0x0'), ('M4', '0xd')]
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.
Выходные данные:
Десятичная строка.
Тесты:
>>> main(8347245251919)
'17038496174'
>>> main(11749055895119)
'1518973663'
>>> main(16726972351471)
'1864882285'
>>> main(16248756385863)
'7229622030'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('J2', '0xc'), ('J3', '0x12'), ('J4', '0x3f'), ('J5', '0x1fb'), ('J6', '0x0')])
'532664928'
>>> main([('J2', '0x16'), ('J3', '0x1d'), ('J4', '0x5'), ('J5', '0x5d'), ('J6', '0x1')])
'1171348912'
>>> main([('J2', '0x6'), ('J3', '0x29'), ('J4', '0xa'), ('J5', '0x340'), ('J6', '0x0')])
'872589616'
>>> main([('J2', '0x1a'), ('J3', '0xa'), ('J4', '0x3e'), ('J5', '0x6e'), ('J6', '0x0')])
'116361936'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('138616351')
'0xe1f8400'
>>> main('25932463')
'0x2af1800'
>>> main('39183890')
'0x6122500'
>>> main('233008937')
'0xf29de00'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.
Выходные данные:
Целое.
Тесты:
>>> main('30207856055')
7814129375
>>> main('50332261220')
10048376210
>>> main('28837618479')
29153410236
>>> main('34637898608')
21911317952
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('10180463823')
'0xbd00267cd'
>>> main('98013390098')
'0x1a4016890d'
>>> main('107550458718')
'0x15019af01'
>>> main('20348008209')
'0x17900488d5'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Тесты:
>>> main(564347511)
(119, 2, 26, 2, 67)
>>> main(407222600)
(72, 25, 45, 4, 48)
>>> main(122217574)
(102, 4, 71, 4, 14)
>>> main(832385155)
(131, 16, 105, 1, 99)
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Выходные данные:
Десятичная строка.Тесты:
>>> main((3, 0, 374, 14, 60))
'255352195'
>>> main((1, 12, 112, 4, 34))
'143662129'
>>> main((0, 9, 108, 13, 52))
'221518628'
>>> main((1, 8, 26, 5, 29))
'122947233'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main([('J2', '0x2'), ('J3', '0x3d7'), ('J4', '0x92'), ('J5', '0x18'), ('J6', '0x55')])
'0xaa6125eb88'
>>> main([('J2', '0x1c'), ('J3', '0x102'), ('J4', '0x1a2'), ('J5', '0x9'), ('J6', '0x7a')])
'0xf427448170'
>>> main([('J2', '0x11'), ('J3', '0x297'), ('J4', '0x1ec'), ('J5', '0x7e'), ('J6', '0x43')])
'0x87fbd94bc4'
>>> main([('J2', '0x1d'), ('J3', '0x28d'), ('J4', '0x17b'), ('J5', '0x5f'), ('J6', '0x6f')])
'0xdf7ef746f4'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main((6, 14, 0, 19))
'0x4dcc0'
>>> main((10, 15, 1, 30))
'0x7bf40'
>>> main((6, 5, 0, 24))
'0x60ac0'
>>> main((4, 13, 1, 12))
'0x33a80'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Целое.Тесты:
>>> main({'E1': '0', 'E2': '2', 'E3': '0', 'E4': '210', 'E5': '11', 'E6': '0'})
734352
>>> main({'E1': '0', 'E2': '2', 'E3': '1', 'E4': '4', 'E5': '9', 'E6': '1'})
1638704
>>> main({'E1': '5', 'E2': '3', 'E3': '0', 'E4': '668', 'E5': '7', 'E6': '1'})
1550109
>>> main({'E1': '5', 'E2': '0', 'E3': '0', 'E4': '595', 'E5': '11', 'E6': '1'})
1807557
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('0x1821725')
{'U1': '0x325', 'U2': '0x85', 'U3': '0x60'}
>>> main('0x116280c')
{'U1': '0xc', 'U2': '0x8a', 'U3': '0x45'}
>>> main('0x10099c6')
{'U1': '0x1c6', 'U2': '0x26', 'U3': '0x40'}
>>> main('0x1291b7a')
{'U1': '0x37a', 'U2': '0x46', 'U3': '0x4a'}
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('0x167568d')
[('I1', 13), ('I2', 0), ('I3', 173), ('I4', 14), ('I5', 44)]
>>> main('0x1d939a7')
[('I1', 7), ('I2', 1), ('I3', 115), ('I4', 2), ('I5', 59)]
>>> main('0x14ad55d')
[('I1', 29), ('I2', 2), ('I3', 170), ('I4', 5), ('I5', 41)]
>>> main('0xa8bcff')
[('I1', 31), ('I2', 3), ('I3', 121), ('I4', 1), ('I5', 21)]