Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Целое.Тесты:
>>> main(('54', '7', '716', '12', '0'))
6818098176
>>> main(('7', '10', '45', '25', '1'))
30625566208
>>> main(('44', '4', '185', '16', '5'))
94586427392
>>> main(('7', '6', '852', '13', '5'))
93325561344
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Целое.
Тесты:
>>> main(3929846)
6215659
>>> main(6946803)
8287230
>>> main(4091129)
2047195
>>> main(1959339)
3505097
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main({'L1': '0x0', 'L2': '0x0', 'L3': '0xf', 'L4': '0x68'})
'0x343c0'
>>> main({'L1': '0x0', 'L2': '0x15', 'L3': '0x2', 'L4': '0x28'})
'0x140aa'
>>> main({'L1': '0x1', 'L2': '0x1', 'L3': '0x6', 'L4': '0xf'})
'0x7983'
>>> main({'L1': '0x0', 'L2': '0x8', 'L3': '0x1c', 'L4': '0x15'})
'0xaf10'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('0x3a91be6b')
[('B1', '0xb'), ('B2', '0x3e6'), ('B3', '0x46'), ('B4', '0x2a'), ('B5', '0x3')]
>>> main('0xb086f86')
[('B1', '0x6'), ('B2', '0x2f8'), ('B3', '0x21'), ('B4', '0x2c'), ('B5', '0x0')]
>>> main('0x336658dc')
[('B1', '0xc'), ('B2', '0x18d'), ('B3', '0x99'), ('B4', '0xd'), ('B5', '0x3')]
>>> main('0x21665904')
[('B1', '0x4'), ('B2', '0x190'), ('B3', '0x99'), ('B4', '0x5'), ('B5', '0x2')]
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Целое.
Тесты:
>>> main(823)
1491
>>> main(94)
901
>>> main(591)
1988
>>> main(1685)
1385
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.
Выходные данные:
Целое.
Тесты:
>>> main(16440059633)
10665912704
>>> main(16289014958)
10623964416
>>> main(12240429612)
10109502592
>>> main(13992218229)
3917482240
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main({'T1': '91', 'T2': '93', 'T3': '6', 'T4': '2'})
'0x9aedb'
>>> main({'T1': '112', 'T2': '124', 'T3': '11', 'T4': '3'})
'0xefe70'
>>> main({'T1': '71', 'T2': '116', 'T3': '13', 'T4': '1'})
'0x77a47'
>>> main({'T1': '106', 'T2': '116', 'T3': '10', 'T4': '3'})
'0xeba6a'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main(23445)
{'Q1': '0x195', 'Q2': '0xd', 'Q3': '0x1', 'Q4': '0x0'}
>>> main(111784)
{'Q1': '0xa8', 'Q2': '0x1a', 'Q3': '0x0', 'Q4': '0x3'}
>>> main(39584)
{'Q1': '0xa0', 'Q2': '0xd', 'Q3': '0x0', 'Q4': '0x1'}
>>> main(65792)
{'Q1': '0x100', 'Q2': '0x0', 'Q3': '0x0', 'Q4': '0x2'}
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main(('0xc', '0x75', '0x12', '0x32', '0x0'))
'839157596'
>>> main(('0xe', '0x26', '0x295', '0x33', '0x0'))
'866468462'
>>> main(('0xd', '0x4d', '0x3cd', '0x4f', '0x0'))
'1341342941'
>>> main(('0x4', '0x25', '0xbc', '0x3f', '0x1'))
'3207529044'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main({'Z1': 25, 'Z2': 1, 'Z3': 2, 'Z4': 341, 'Z5': 9, 'Z6': 62})
'0xfa6aab9'
>>> main({'Z1': 1, 'Z2': 1, 'Z3': 3, 'Z4': 286, 'Z5': 7, 'Z6': 61})
'0xf5e3ce1'
>>> main({'Z1': 15, 'Z2': 0, 'Z3': 1, 'Z4': 500, 'Z5': 7, 'Z6': 14})
'0x39fe84f'
>>> main({'Z1': 20, 'Z2': 1, 'Z3': 5, 'Z4': 414, 'Z5': 12, 'Z6': 41})
'0xa733d74'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Целое.Тесты:
>>> main(('9', '73', '384', '0', '236', '45'))
781013746841
>>> main(('2', '107', '506', '15', '55', '106'))
1822928393906
>>> main(('11', '37', '132', '27', '402', '104'))
1800223859291
>>> main(('5', '41', '508', '16', '44', '63'))
1083825971861
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('14821897251606')
{'S1': '790', 'S2': '746', 'S3': '222', 'S4': '431', 'S5': '3', 'S6': '13'}
>>> main('13552833638244')
{'S1': '868', 'S2': '363', 'S3': '61', 'S4': '312', 'S5': '2', 'S6': '12'}
>>> main('12818987595962')
{'S1': '186', 'S2': '238', 'S3': '115', 'S4': '138', 'S5': '5', 'S6': '11'}
>>> main('13826326295662')
{'S1': '110', 'S2': '285', 'S3': '20', 'S4': '307', 'S5': '4', 'S6': '12'}
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('0x6db43')
'0xee869'
>>> main('0x19f0ae')
'0x19d5c6'
>>> main('0x1fb873')
'0xf8ee7'
>>> main('0x1af407')
'0x1ec0d6'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main({'F1': '6', 'F2': '1', 'F3': '7', 'F4': '24', 'F5': '175', 'F6': '0'})
'2879726'
>>> main({'F1': '7', 'F2': '0', 'F3': '12', 'F4': '21', 'F5': '197', 'F6': '2'})
'11627399'
>>> main({'F1': '6', 'F2': '3', 'F3': '1', 'F4': '2', 'F5': '119', 'F6': '1'})
'6145086'
>>> main({'F1': '7', 'F2': '2', 'F3': '4', 'F4': '1', 'F5': '146', 'F6': '0'})
'2392727'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('1675379')
[('Z1', '0x73'), ('Z2', '0x0'), ('Z3', '0x8'), ('Z4', '0xcc')]
>>> main('1720882')
[('Z1', '0x32'), ('Z2', '0x0'), ('Z3', '0x1'), ('Z4', '0xd2')]
>>> main('1541222')
[('Z1', '0x66'), ('Z2', '0x0'), ('Z3', '0x2'), ('Z4', '0xbc')]
>>> main('1697933')
[('Z1', '0x8d'), ('Z2', '0x0'), ('Z3', '0x4'), ('Z4', '0xcf')]
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('0x5252f062e')
'22018001502'
>>> main('0x7640c86b5')
'31681677337'
>>> main('0x5914d9f63')
'23923262107'
>>> main('0x325f60881')
'13430164460'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('Y1', '313'), ('Y2', '0'), ('Y3', '1'), ('Y4', '271')])
'2224441'
>>> main([('Y1', '182'), ('Y2', '3'), ('Y3', '1'), ('Y4', '378')])
'3102390'
>>> main([('Y1', '17'), ('Y2', '0'), ('Y3', '0'), ('Y4', '452')])
'3702801'
>>> main([('Y1', '282'), ('Y2', '4'), ('Y3', '1'), ('Y4', '421')])
'3455258'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Целое.
Тесты:
>>> main('0x3c8ae4de')
467943794
>>> main('0x2b732fbb')
928743831
>>> main('0xd38ed9a')
845791350
>>> main('0x3ec32a1e')
66453909
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Целое.
Тесты:
>>> main(2153634)
12861861
>>> main(15903314)
6677842
>>> main(5074150)
5020391
>>> main(15381191)
9426262
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.
Выходные данные:
Целое.
Тесты:
>>> main(65009391)
56588280
>>> main(29933425)
63551672
>>> main(43693150)
56242000
>>> main(25025487)
29222824
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Целое.Тесты:
>>> main([('R1', 0), ('R2', 66), ('R3', 1), ('R4', 119), ('R5', 2), ('R6', 129)])
271301384
>>> main([('R1', 3), ('R2', 112), ('R3', 0), ('R4', 11), ('R5', 0), ('R6', 137)])
287332803
>>> main([('R1', 0), ('R2', 65), ('R3', 0), ('R4', 122), ('R5', 1), ('R6', 146)])
306696452
>>> main([('R1', 0), ('R2', 5), ('R3', 2), ('R4', 76), ('R5', 3), ('R6', 181)])
380527636
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('0x4e4911d')
{'I2': 0, 'I3': 73, 'I4': 78}
>>> main('0x384de0')
{'I2': 3, 'I3': 132, 'I4': 3}
>>> main('0x4566bea')
{'I2': 2, 'I3': 102, 'I4': 69}
>>> main('0x7b26333')
{'I2': 0, 'I3': 38, 'I4': 123}
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Целое.Тесты:
>>> main([('Q1', '29'), ('Q2', '0'), ('Q3', '174'), ('Q4', '0'), ('Q5', '1'), ('Q6', '2')])
4763165
>>> main([('Q1', '23'), ('Q2', '0'), ('Q3', '333'), ('Q4', '3'), ('Q5', '3'), ('Q6', '1')])
4148503
>>> main([('Q1', '39'), ('Q2', '3'), ('Q3', '45'), ('Q4', '1'), ('Q5', '3'), ('Q6', '0')])
1715687
>>> main([('Q1', '7'), ('Q2', '2'), ('Q3', '62'), ('Q4', '1'), ('Q5', '2'), ('Q6', '2')])
5389959
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Целое.Тесты:
>>> main(('522', '5', '0', '74', '33', '3'))
7005804042
>>> main(('425', '12', '3', '1', '6', '0'))
100905385
>>> main(('304', '31', '0', '28', '48', '2'))
5103975728
>>> main(('176', '28', '0', '5', '125', '2'))
6392803504
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('800410983413')
{'O1': '117', 'O2': '55', 'O3': '2', 'O5': '737', 'O6': '372'}
>>> main('695353011631')
{'O1': '47', 'O2': '27', 'O3': '7', 'O5': '818', 'O6': '323'}
>>> main('158809462357')
{'O1': '85', 'O2': '44', 'O3': '0', 'O5': '974', 'O6': '73'}
>>> main('483933244932')
{'O1': '4', 'O2': '28', 'O3': '10', 'O5': '357', 'O6': '225'}
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('R1', 52), ('R2', 17), ('R4', 1), ('R5', 177), ('R6', 11)])
'190366836'
>>> main([('R1', 2), ('R2', 19), ('R4', 1), ('R5', 67), ('R6', 2)])
'35767490'
>>> main([('R1', 44), ('R2', 13), ('R4', 0), ('R5', 125), ('R6', 4)])
'71205740'
>>> main([('R1', 3), ('R2', 15), ('R4', 1), ('R5', 87), ('R6', 7)])
'120308675'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main(53512)
[('K1', '0'), ('K2', '4'), ('K3', '2'), ('K4', '52')]
>>> main(8981)
[('K1', '1'), ('K2', '10'), ('K3', '6'), ('K4', '8')]
>>> main(51151)
[('K1', '1'), ('K2', '39'), ('K3', '7'), ('K4', '49')]
>>> main(38442)
[('K1', '0'), ('K2', '21'), ('K3', '4'), ('K4', '37')]
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Целое.
Тесты:
>>> main(4643093)
6563163
>>> main(8125242)
15515311
>>> main(4060252)
13705015
>>> main(6063072)
1026098
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('20730238257')
[('H2', '0x12a'), ('H3', '0xe7'), ('H4', '0x4d')]
>>> main('41412131856')
[('H2', '0x17e'), ('H3', '0x116'), ('H4', '0x9a')]
>>> main('2197724553')
[('H2', '0x14e'), ('H3', '0xbf'), ('H4', '0x8')]
>>> main('60164286035')
[('H2', '0x113'), ('H3', '0x84'), ('H4', '0xe0')]
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Целое.Тесты:
>>> main([('S1', '0x0'), ('S2', '0x1'), ('S3', '0x6'), ('S4', '0x3c')])
983248
>>> main([('S1', '0x8'), ('S2', '0x0'), ('S3', '0x82'), ('S4', '0x7a')])
2003016
>>> main([('S1', '0xc'), ('S2', '0x0'), ('S3', '0xed'), ('S4', '0x51')])
1334700
>>> main([('S1', '0x9'), ('S2', '0x0'), ('S3', '0xf2'), ('S4', '0x58')])
1449545
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('2799900')
[('Z2', 8), ('Z3', 23), ('Z4', 42)]
>>> main('1596595')
[('Z2', 37), ('Z3', 11), ('Z4', 24)]
>>> main('1957483')
[('Z2', 51), ('Z3', 27), ('Z4', 29)]
>>> main('149250')
[('Z2', 56), ('Z3', 8), ('Z4', 2)]
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('0xc9070a7d')
[('H1', '5'), ('H2', '7'), ('H3', '41'), ('H4', '0'), ('H5', '263'), ('H6', '50')]
>>> main('0x1dc1d42ff')
[('H1', '7'), ('H2', '7'), ('H3', '11'), ('H4', '4'), ('H5', '29'), ('H6', '119')]
>>> main('0x81f40bab')
[('H1', '3'), ('H2', '5'), ('H3', '46'), ('H4', '0'), ('H5', '500'), ('H6', '32')]
>>> main('0x3b570630c')
[('H1', '4'), ('H2', '1'), ('H3', '12'), ('H4', '6'), ('H5', '368'), ('H6', '237')]
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Тесты:
>>> main(9450600348)
{'E1': 28, 'E2': 30, 'E3': 6, 'E4': 306, 'E5': 563}
>>> main(634630747)
{'E1': 27, 'E2': 9, 'E3': 6, 'E4': 846, 'E5': 37}
>>> main(14919316955)
{'E1': 27, 'E2': 23, 'E3': 6, 'E4': 266, 'E5': 889}
>>> main(10684459786)
{'E1': 10, 'E2': 12, 'E3': 5, 'E4': 863, 'E5': 636}
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main(674591479545)
{'K2': '367', 'K3': '72', 'K4': '134', 'K5': '0', 'K6': '628'}
>>> main(43361958950)
{'K2': '450', 'K3': '151', 'K4': '196', 'K5': '0', 'K6': '40'}
>>> main(1025257346227)
{'K2': '331', 'K3': '204', 'K4': '176', 'K5': '1', 'K6': '954'}
>>> main(264008499145)
{'K2': '508', 'K3': '15', 'K4': '193', 'K5': '1', 'K6': '245'}
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Выходные данные:
Десятичная строка.Тесты:
>>> main((97, 3, 6, 207, 90))
'386601370465'
>>> main((92, 24, 28, 247, 12))
'51604592732'
>>> main((244, 7, 29, 22, 4))
'17185875956'
>>> main((91, 17, 29, 173, 115))
'493966831963'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main(835131)
('571', '15', '1', '0')
>>> main(12725393)
('145', '11', '0', '3')
>>> main(10580279)
('311', '28', '0', '2')
>>> main(9679298)
('450', '12', '1', '2')
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main(491802)
'0x400f0'
>>> main(1034625)
'0x601f9'
>>> main(844922)
'0x10019c'
>>> main(1643446)
'0xe0322'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('F1', 46), ('F2', 1), ('F3', 59), ('F4', 798)])
'418442414'
>>> main([('F1', 90), ('F2', 2), ('F3', 483), ('F4', 118)])
'62360922'
>>> main([('F1', 52), ('F2', 7), ('F3', 448), ('F4', 308)])
'161940404'
>>> main([('F1', 7), ('F2', 3), ('F3', 473), ('F4', 596)])
'312960391'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('53669103')
'0x11b3ccaf'
>>> main('26382702')
'0x45e4ae'
>>> main('19473426')
'0x904a52'
>>> main('1203041')
'0x16d8481'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Тесты:
>>> main(4546)
[('G2', 0), ('G3', 14), ('G4', 8)]
>>> main(2785)
[('G2', 0), ('G3', 7), ('G4', 5)]
>>> main(3769)
[('G2', 3), ('G3', 5), ('G4', 7)]
>>> main(4928)
[('G2', 0), ('G3', 10), ('G4', 9)]