Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('211016')
'0xc800c'
>>> main('465207')
'0xc200f'
>>> main('202618')
'0xc000a'
>>> main('980689')
'0xbe009'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('12525048992')
'W2': '0xa', 'W3': '0x1a', 'W4': '0xa8', 'W5': '0x3', 'W6': '0x5'}
{
>>> main('12346976967')
'W2': '0x35', 'W3': '0x1f', 'W4': '0x1fe', 'W5': '0x2', 'W6': '0x5'}
{
>>> main('12058933912')
'W2': '0x1d', 'W3': '0x9', 'W4': '0xec', 'W5': '0x2', 'W6': '0x5'}
{
>>> main('15997905479')
'W2': '0x15', 'W3': '0x19', 'W4': '0x198', 'W5': '0x1', 'W6': '0x7'} {
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Целое.Тесты:
>>> main([('D2', '0x6'), ('D3', '0x1'), ('D4', '0x129'), ('D5', '0x1')])
414656
>>> main([('D2', '0x2'), ('D3', '0x1'), ('D4', '0x3b'), ('D5', '0x2')])
554816
>>> main([('D2', '0x5'), ('D3', '0x1'), ('D4', '0x1ae'), ('D5', '0x3')])
1007008
>>> main([('D2', '0x0'), ('D3', '0x1'), ('D4', '0x132'), ('D5', '0x3')])
943360
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('72336543')
'0x9d3f00'
>>> main('31907436')
'0x3ccd800'
>>> main('90007020')
'0x2bbd900'
>>> main('65476205')
'0x7ccda00'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main([('K1', '12'), ('K2', '214'), ('K3', '11'), ('K4', '105')])
'0x1a417acc'
>>> main([('K1', '13'), ('K2', '96'), ('K3', '128'), ('K4', '127')])
'0x1fd00c0d'
>>> main([('K1', '13'), ('K2', '51'), ('K3', '377'), ('K4', '51')])
'0xcef266d'
>>> main([('K1', '17'), ('K2', '163'), ('K3', '316'), ('K4', '72')])
'0x12279471'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main(3095094513)
'D1': '0xf1', 'D2': '0x1b2', 'D3': '0xf', 'D4': '0x2e'}
{
>>> main(4793689546)
'D1': '0x1ca', 'D2': '0xf2', 'D3': '0x37', 'D4': '0x47'}
{
>>> main(231903980)
'D1': '0xec', 'D2': '0x149', 'D3': '0x3a', 'D4': '0x3'}
{
>>> main(3388872479)
'D1': '0x11f', 'D2': '0x30b', 'D3': '0x3f', 'D4': '0x32'} {
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('0x60f4954')
'J2', '2'), ('J3', '122'), ('J4', '48')]
[(
>>> main('0x6784363')
'J2', '0'), ('J3', '194'), ('J4', '51')]
[(
>>> main('0x7a6473d')
'J2', '1'), ('J3', '50'), ('J4', '61')]
[(
>>> main('0x1dec21')
'J2', '3'), ('J3', '239'), ('J4', '0')] [(
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main(375041258)
'0x0', '0x55', '0x2', '0x5', '0x16')
(
>>> main(315950387)
'0x1', '0x20', '0x1', '0xd', '0x12')
(
>>> main(226050732)
'0x0', '0x28', '0x2', '0x7', '0xd')
(
>>> main(384078642)
'0x0', '0x12', '0x1', '0xe', '0x16') (
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Целое.Тесты:
>>> main(('0x1b', '0x4', '0xf', '0x2', '0x2c'))
2920347
>>> main(('0x15', '0x2', '0x2d', '0x2', '0x1d3'))
30649685
>>> main(('0xc', '0x1', '0x2a', '0x1', '0x1b3'))
28535340
>>> main(('0x19', '0x5', '0x36', '0x2', '0x51'))
5355193
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main(('0x61', '0x8', '0x2', '0x2'))
'35926144'
>>> main(('0xfc', '0x5', '0x8', '0x0'))
'8584704'
>>> main(('0xd0', '0x12', '0x3', '0x0'))
'3762176'
>>> main(('0x5d', '0x7', '0x0', '0x3'))
'50572928'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main(('0x96', '0x1', '0x0', '0x0', '0x7b'))
'0x1ec000496'
>>> main(('0x9a', '0x0', '0x4', '0x0', '0x48'))
'0x12000209a'
>>> main(('0x3c4', '0x1', '0x1', '0x1', '0x6d'))
'0x1b6000fc4'
>>> main(('0x3ad', '0x1', '0xc', '0x1', '0x75'))
'0x1d60067ad'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Целое.
Тесты:
>>> main('2113000408')
1618247647
>>> main('1754773873')
3320721033
>>> main('1891154883')
237928203
>>> main('1322579848')
557642989
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main(('68', '23', '36', '0'))
'0x24bc4'
>>> main(('28', '7', '11', '3'))
'0xc00b39c'
>>> main(('103', '7', '124', '6'))
'0x1807c3e7'
>>> main(('56', '29', '95', '2'))
'0x805feb8'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('954582713')
'D1', '0x9'), ('D2', '0x1'), ('D4', '0x1cb'), ('D5', '0x1c'), ('D6', '0x0')]
[(
>>> main('8076740549')
'D1', '0x5'), ('D2', '0x0'), ('D4', '0x2d2'), ('D5', '0x70'), ('D6', '0x1')]
[(
>>> main('3612890394')
'D1', '0xa'), ('D2', '0x1'), ('D4', '0x2b0'), ('D5', '0x6b'), ('D6', '0x0')]
[(
>>> main('828370810')
'D1', '0xa'), ('D2', '0x1'), ('D4', '0x2bf'), ('D5', '0x18'), ('D6', '0x0')] [(
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('437629')
'H1', 1), ('H2', 7), ('H3', 11), ('H4', 86), ('H5', 6)]
[(
>>> main('241033')
'H1', 1), ('H2', 2), ('H3', 12), ('H4', 86), ('H5', 3)]
[(
>>> main('334338')
'H1', 2), ('H2', 0), ('H3', 0), ('H4', 13), ('H5', 5)]
[(
>>> main('464220')
'H1', 0), ('H2', 7), ('H3', 10), ('H4', 10), ('H5', 7)] [(
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main(13906)
'Z1', '82'), ('Z2', '12'), ('Z3', '1'), ('Z4', '1')]
[(
>>> main(11781)
'Z1', '5'), ('Z2', '28'), ('Z3', '0'), ('Z4', '1')]
[(
>>> main(29536)
'Z1', '96'), ('Z2', '6'), ('Z3', '1'), ('Z4', '3')]
[(
>>> main(23729)
'Z1', '49'), ('Z2', '25'), ('Z3', '1'), ('Z4', '2')] [(
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main(12628)
'0x2a98'
>>> main(14153)
'0xe938'
>>> main(3042)
'0x17c40'
>>> main(11506)
'0x19e50'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('1855007600')
'A1': '0x70', 'A2': '0x16', 'A3': '0x89', 'A4': '0xdd'}
{
>>> main('1893430560')
'A1': '0x20', 'A2': '0x2a', 'A3': '0x2db', 'A4': '0xe1'}
{
>>> main('1393105959')
'A1': '0x27', 'A2': '0x38', 'A3': '0x48', 'A4': '0xa6'}
{
>>> main('179266378')
'A1': '0x4a', 'A2': '0x6', 'A3': '0x17b', 'A4': '0x15'} {
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main(251599)
'0x5bf7'
>>> main(22580)
'0x36014'
>>> main(125385)
'0x2779'
>>> main(250236)
'0x345f4'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main(('0x1', '0x1cb', '0x51', '0x6'))
'1739671'
>>> main(('0x0', '0x165', '0x6b', '0xa'))
'2841290'
>>> main(('0x1', '0x142', '0x6f', '0x1'))
'490117'
>>> main(('0x1', '0x359', '0x69', '0x5'))
'1527475'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('26110')
'46064'
>>> main('8917')
'37544'
>>> main('34167')
'17336'
>>> main('8023')
'3768'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('344509065')
'5513561680'
>>> main('3657036948')
'6973362089'
>>> main('2969968184')
'4564332789'
>>> main('4560384753')
'4248588178'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Тесты:
>>> main(393323914018)
'O1', 34), ('O2', 675), ('O3', 3), ('O4', 318), ('O5', 4), ('O6', 91)]
[(
>>> main(346692999323)
'O1', 155), ('O2', 856), ('O3', 0), ('O4', 392), ('O5', 5), ('O6', 80)]
[(
>>> main(192564225101)
'O1', 77), ('O2', 228), ('O3', 2), ('O4', 347), ('O5', 6), ('O6', 44)]
[(
>>> main(71643638933)
'O1', 149), ('O2', 812), ('O3', 2), ('O4', 228), ('O5', 5), ('O6', 16)] [(
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main(('0', '0', '46', '0', '27'))
'3544832'
>>> main(('7', '9', '20', '4', '31'))
'4098639'
>>> main(('3', '8', '25', '11', '14'))
'1928387'
>>> main(('4', '13', '14', '5', '13'))
'1746796'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('H1', 614), ('H2', 14), ('H3', 2), ('H4', 417), ('H5', 13), ('H6', 173)])
'186220919398'
>>> main([('H1', 718), ('H2', 3), ('H3', 0), ('H4', 169), ('H5', 0), ('H6', 463)])
'497153543886'
>>> main([('H1', 243), ('H2', 11), ('H3', 2), ('H4', 377), ('H5', 15), ('H6', 188)])
'202391530739'
>>> main([('H1', 834), ('H2', 4), ('H3', 0), ('H4', 228), ('H5', 15), ('H6', 355)])
'381696611138'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('222522115698')
'Y1': '0x32', 'Y2': '0x19', 'Y3': '0x68', 'Y4': '0x3d', 'Y6': '0x33'}
{
>>> main('715552557710')
'Y1': '0xe', 'Y2': '0x2a', 'Y3': '0x6', 'Y4': '0x69', 'Y6': '0xa6'}
{
>>> main('522738020407')
'Y1': '0x37', 'Y2': '0xc0', 'Y3': '0x74', 'Y4': '0x56', 'Y6': '0x79'}
{
>>> main('780015272488')
'Y1': '0x28', 'Y2': '0x8', 'Y3': '0x22', 'Y4': '0x72', 'Y6': '0xb5'} {
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('981205')
'0x353fa'
>>> main('1146068')
'0x1355e4'
>>> main('650625')
'0x1607a2'
>>> main('1643957')
'0x16d446'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('0x3869d5')
'Y1', '1'), ('Y2', '629'), ('Y4', '0')]
[(
>>> main('0x23eef9')
'Y1', '1'), ('Y2', '958'), ('Y4', '0')]
[(
>>> main('0x60c3f2')
'Y1', '2'), ('Y2', '252'), ('Y4', '1')]
[(
>>> main('0x4492b7')
'Y1', '3'), ('Y2', '173'), ('Y4', '1')] [(
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Целое.Тесты:
>>> main({'A1': '41', 'A2': '27', 'A3': '20', 'A4': '407', 'A5': '0'})
213427945
>>> main({'A1': '21', 'A2': '17', 'A3': '57', 'A4': '281', 'A5': '5'})
1489620053
>>> main({'A1': '26', 'A2': '15', 'A3': '236', 'A4': '60', 'A5': '6'})
1642554330
>>> main({'A1': '39', 'A2': '25', 'A3': '71', 'A4': '294', 'A5': '0'})
154287719
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main(3481730819)
'L1', '259'), ('L2', '127'), ('L3', '3'), ('L4', '415')]
[(
>>> main(3434064664)
'L1', '280'), ('L2', '213'), ('L3', '23'), ('L4', '409')]
[(
>>> main(258270797)
'L1', '77'), ('L2', '115'), ('L3', '50'), ('L4', '30')]
[(
>>> main(2095228015)
'L1', '111'), ('L2', '82'), ('L3', '49'), ('L4', '249')] [(
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('1342288')
'41901'
>>> main('817046')
'25502'
>>> main('804529')
'25178'
>>> main('3845419')
'120180'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main(256252)
'O2', '62'), ('O3', '1'), ('O4', '250')]
[(
>>> main(124374)
'O2', '43'), ('O3', '3'), ('O4', '121')]
[(
>>> main(3508)
'O2', '26'), ('O3', '3'), ('O4', '3')]
[(
>>> main(255609)
'O2', '60'), ('O3', '4'), ('O4', '249')] [(
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('1036300')
'O1', '0x0'), ('O2', '0x6'), ('O3', '0x1fa'), ('O4', '0x0')]
[(
>>> main('1981325')
'O1', '0x1'), ('O2', '0x1c6'), ('O3', '0x3c7'), ('O4', '0x0')]
[(
>>> main('2506904')
'O1', '0x0'), ('O2', '0x4c'), ('O3', '0xc8'), ('O4', '0x1')]
[(
>>> main('3499073')
'O1', '0x1'), ('O2', '0x220'), ('O3', '0x2ac'), ('O4', '0x1')] [(
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('0x5b1eda')
'Z1': '218', 'Z2': '30', 'Z3': '0', 'Z4': '6', 'Z5': '22'}
{
>>> main('0x26db32')
'Z1': '50', 'Z2': '27', 'Z3': '1', 'Z4': '5', 'Z5': '9'}
{
>>> main('0x201409')
'Z1': '9', 'Z2': '20', 'Z3': '0', 'Z4': '0', 'Z5': '8'}
{
>>> main('0x94da4')
'Z1': '164', 'Z2': '13', 'Z3': '1', 'Z4': '2', 'Z5': '2'} {
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main(5020908)
'B1', '0xc'), ('B2', '0xe'), ('B3', '0x27'), ('B4', '0x3'), ('B5', '0x2')]
[(
>>> main(14097749)
'B1', '0x5'), ('B2', '0x15'), ('B3', '0xc7'), ('B4', '0x5'), ('B5', '0x6')]
[(
>>> main(5565287)
'B1', '0x7'), ('B2', '0x36'), ('B3', '0x3a'), ('B4', '0x5'), ('B5', '0x2')]
[(
>>> main(10372166)
'B1', '0x6'), ('B2', '0x4'), ('B3', '0x91'), ('B4', '0x7'), ('B5', '0x4')] [(
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('0xa68b72')
'D1', 882), ('D2', 34), ('D3', 6), ('D4', 20)]
[(
>>> main('0x187f4a3')
'D1', 163), ('D2', 61), ('D3', 7), ('D4', 48)]
[(
>>> main('0x2762f8')
'D1', 760), ('D2', 24), ('D3', 7), ('D4', 4)]
[(
>>> main('0xe91b48')
'D1', 840), ('D2', 6), ('D3', 1), ('D4', 29)] [(
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main(('83', '0', '197', '96'))
'0xc0c553'
>>> main(('119', '0', '227', '63'))
'0x7ee377'
>>> main(('87', '0', '110', '6'))
'0xc6e57'
>>> main(('60', '0', '462', '125'))
'0xfbce3c'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Целое.Тесты:
>>> main([('P1', '0'), ('P2', '115'), ('P3', '457'), ('P4', '213'), ('P5', '0'), ('P6', '3')])
833341926
>>> main([('P1', '0'), ('P2', '17'), ('P3', '483'), ('P4', '174'), ('P5', '4'), ('P6', '39')])
10626130722
>>> main([('P1', '0'), ('P2', '46'), ('P3', '98'), ('P4', '239'), ('P5', '1'), ('P6', '44')])
11876065884
>>> main([('P1', '0'), ('P2', '33'), ('P3', '404'), ('P4', '63'), ('P5', '0'), ('P6', '62')])
16651359298
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Целое.Тесты:
>>> main(('31', '44', '90', '26', '23'))
1580603231007
>>> main(('61', '120', '192', '13', '44'))
3023685819965
>>> main(('40', '58', '73', '23', '49'))
3367303196328
>>> main(('62', '47', '241', '22', '52'))
3573460904958
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main(('320', '8', '26', '1'))
'0x741140'
>>> main(('293', '245', '26', '3'))
'0xf5eb25'
>>> main(('369', '96', '4', '2'))
'0x88c171'
>>> main(('153', '30', '12', '1'))
'0x583c99'