Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main(776632)
'0x371b0b'
>>> main(1224797)
'0xbb612'
>>> main(4044752)
'0x3a16fd'
>>> main(1972692)
'0x3a831e'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('597092483')
'275893108'
>>> main('457677325')
'28156877'
>>> main('780584137')
'423052130'
>>> main('372223843')
'745215959'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Целое.Тесты:
>>> main(('9', '50', '27', '1', '77'))
10430191881
>>> main(('52', '21', '19', '1', '174'))
23440919220
>>> main(('32', '29', '32', '0', '143'))
19226693280
>>> main(('37', '40', '62', '0', '114'))
15365837861
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('0x1375')
'1', '1', '1', '38')
(
>>> main('0x69df')
'3', '3', '1', '211')
(
>>> main('0xce6')
'2', '1', '0', '25')
(
>>> main('0x4a0e')
'2', '3', '0', '148') (
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Целое.Тесты:
>>> main([('E1', 23), ('E2', 9), ('E3', 1), ('E4', 6), ('E5', 0)])
53847
>>> main([('E1', 2), ('E2', 39), ('E3', 0), ('E4', 7), ('E5', 0)])
59842
>>> main([('E1', 35), ('E2', 28), ('E3', 0), ('E4', 9), ('E5', 4)])
1124131
>>> main([('E1', 53), ('E2', 9), ('E3', 0), ('E4', 22), ('E5', 6)])
1753717
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('R1', '6'), ('R2', '891'), ('R3', '120'), ('R4', '11')])
'192470726'
>>> main([('R1', '40'), ('R2', '1001'), ('R3', '165'), ('R4', '13')])
'228981352'
>>> main([('R1', '1'), ('R2', '482'), ('R3', '90'), ('R4', '15')])
'257587329'
>>> main([('R1', '6'), ('R2', '158'), ('R3', '218'), ('R4', '20')])
'349841286'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Целое.Тесты:
>>> main(('3', '55', '17', '0'))
35699
>>> main(('5', '18', '36', '7'))
991525
>>> main(('7', '34', '43', '1'))
219687
>>> main(('10', '105', '60', '4'))
648858
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('837820')
'180326'
>>> main('555892')
'901156'
>>> main('701213')
'802925'
>>> main('864135')
'917566'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Тесты:
>>> main(2733)
'M1', 1), ('M2', 6), ('M3', 5), ('M4', 10)]
[(
>>> main(500)
'M1', 0), ('M2', 10), ('M3', 7), ('M4', 1)]
[(
>>> main(2119)
'M1', 1), ('M2', 3), ('M3', 2), ('M4', 8)]
[(
>>> main(5602)
'M1', 0), ('M2', 1), ('M3', 7), ('M4', 21)] [(
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('1893924538')
'4267517724'
>>> main('3808993577')
'2702481528'
>>> main('483189354')
'3795142215'
>>> main('3985518478')
'793209979'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.
Выходные данные:
Целое.
Тесты:
>>> main('3737')
4814
>>> main('7461')
1213
>>> main('2814')
8042
>>> main('4689')
2706
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main({'W1': '0x0', 'W2': '0x7', 'W4': '0x22'})
'34830'
>>> main({'W1': '0x0', 'W2': '0x3', 'W4': '0xe'})
'14342'
>>> main({'W1': '0x1', 'W2': '0x2', 'W4': '0x3e'})
'63493'
>>> main({'W1': '0x0', 'W2': '0x2', 'W4': '0x1'})
'1028'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Целое.Тесты:
>>> main([('I1', '0x1'), ('I2', '0xeb'), ('I3', '0x4'), ('I4', '0x53'), ('I5', '0x393'), ('I6', '0xd')])
59675087789
>>> main([('I1', '0x1'), ('I2', '0xaf'), ('I3', '0x0'), ('I4', '0x56'), ('I5', '0x200'), ('I6', '0x8')])
36510040765
>>> main([('I1', '0x3'), ('I2', '0xda'), ('I3', '0x3'), ('I4', '0x70'), ('I5', '0x130'), ('I6', '0x9')])
39933448043
>>> main([('I1', '0x3'), ('I2', '0x4b'), ('I3', '0x8'), ('I4', '0x78'), ('I5', '0x17e'), ('I6', '0x4')])
18786033967
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main([('F1', '0x74'), ('F2', '0x1'), ('F3', '0x19f'), ('F4', '0x6'), ('F5', '0x318')])
'0xc6367e74'
>>> main([('F1', '0x13a'), ('F2', '0x0'), ('F3', '0x16f'), ('F4', '0x4'), ('F5', '0x109')])
'0x4265bd3a'
>>> main([('F1', '0x194'), ('F2', '0x0'), ('F3', '0x17d'), ('F4', '0x4'), ('F5', '0x2de')])
'0xb7a5f594'
>>> main([('F1', '0x12a'), ('F2', '0x1'), ('F3', '0x16a'), ('F4', '0x6'), ('F5', '0x331')])
'0xcc75ab2a'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Целое.Тесты:
>>> main([('C1', 1), ('C2', 44), ('C3', 29), ('C4', 149), ('C5', 5)])
21585625
>>> main([('C1', 0), ('C2', 48), ('C3', 4), ('C4', 737), ('C5', 10)])
44962400
>>> main([('C1', 1), ('C2', 8), ('C3', 16), ('C4', 818), ('C5', 1)])
7546897
>>> main([('C1', 0), ('C2', 38), ('C3', 9), ('C4', 561), ('C5', 1)])
6493388
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('6626')
'0x25e2'
>>> main('11369')
'0x3869'
>>> main('8819')
'0xa73'
>>> main('1022')
'0x3fe'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main(86071)
'0x7507'
>>> main(118002)
'0x1fcc2'
>>> main(5688)
'0x6168'
>>> main(117752)
'0x1fcb8'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Целое.Тесты:
>>> main(('0x3', '0x2cf', '0xb', '0x3b'))
989903679
>>> main(('0x2', '0x15', '0x6', '0xd'))
218128470
>>> main(('0x1', '0x32b', '0x3', '0x4'))
67124397
>>> main(('0x1', '0x9b', '0xc', '0x1e'))
503366253
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('255468362')
'628377148'
>>> main('79755398')
'50458899'
>>> main('637654065')
'411281560'
>>> main('101107784')
'604868632'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Выходные данные:
Десятичная строка.Тесты:
>>> main({'J1': 3, 'J2': 11, 'J3': 0, 'J4': 59})
'30255'
>>> main({'J1': 1, 'J2': 5, 'J3': 6, 'J4': 67})
'34709'
>>> main({'J1': 1, 'J2': 6, 'J3': 4, 'J4': 173})
'88857'
>>> main({'J1': 0, 'J2': 11, 'J3': 7, 'J4': 57})
'29676'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Выходные данные:
Десятичная строка.Тесты:
>>> main((214, 84, 105, 35))
'4807807190'
>>> main((116, 772, 115, 37))
'5087432820'
>>> main((506, 278, 30, 17))
'2313443834'
>>> main((192, 340, 21, 48))
'6464819392'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Тесты:
>>> main(351652075)
'K1': 107, 'K2': 17, 'K3': 92, 'K4': 79, 'K5': 2}
{
>>> main(194254393)
'K1': 57, 'K2': 12, 'K3': 65, 'K4': 57, 'K5': 1}
{
>>> main(503337927)
'K1': 71, 'K2': 7, 'K3': 5, 'K4': 96, 'K5': 3}
{
>>> main(210687274)
'K1': 42, 'K2': 10, 'K3': 237, 'K4': 72, 'K5': 1} {
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main(63520607658)
'A1': '0xa', 'A2': '0x5a', 'A3': '0x11', 'A4': '0x1f', 'A5': '0x194', 'A6': '0xe'}
{
>>> main(52011138531)
'A1': '0x3', 'A2': '0x5e', 'A3': '0x1f', 'A4': '0x1a', 'A5': '0x38', 'A6': '0xc'}
{
>>> main(18054819704)
'A1': '0x8', 'A2': '0x77', 'A3': '0x15', 'A4': '0x26', 'A5': '0x68', 'A6': '0x4'}
{
>>> main(7325561633)
'A1': '0x1', 'A2': '0x32', 'A3': '0x6', 'A4': '0x23', 'A5': '0x169', 'A6': '0x1'} {
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('0x1b714c')
'A1', 0), ('A2', 38), ('A3', 2), ('A4', 0), ('A5', 0), ('A6', 878)]
[(
>>> main('0x18c66d')
'A1', 1), ('A2', 54), ('A3', 0), ('A4', 1), ('A5', 1), ('A6', 792)]
[(
>>> main('0x15cc6a')
'A1', 0), ('A2', 53), ('A3', 0), ('A4', 0), ('A5', 1), ('A6', 697)]
[(
>>> main('0x606f6')
'A1', 0), ('A2', 59), ('A3', 1), ('A4', 1), ('A5', 1), ('A6', 192)] [(
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('22970135309')
'Y1': '5', 'Y2': '1', 'Y3': '230', 'Y4': '576', 'Y5': '684'}
{
>>> main('30682534414')
'Y1': '6', 'Y2': '1', 'Y3': '164', 'Y4': '420', 'Y5': '914'}
{
>>> main('16775238333')
'Y1': '5', 'Y2': '7', 'Y3': '165', 'Y4': '963', 'Y5': '499'}
{
>>> main('29046398292')
'Y1': '4', 'Y2': '10', 'Y3': '186', 'Y4': '665', 'Y5': '865'} {
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('15518839467')
'J1', '0x2ab'), ('J2', '0xac'), ('J4', '0x1'), ('J5', '0x3'), ('J6', '0x1')]
[(
>>> main('8800055571')
'J1', '0x113'), ('J2', '0x8c'), ('J4', '0x0'), ('J5', '0x0'), ('J6', '0x1')]
[(
>>> main('1076657384')
'J1', '0xe8'), ('J2', '0x1f'), ('J4', '0x4'), ('J5', '0x0'), ('J6', '0x0')]
[(
>>> main('9378651086')
'J1', '0x3ce'), ('J2', '0xb6'), ('J4', '0x2'), ('J5', '0x0'), ('J6', '0x1')] [(
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Целое.Тесты:
>>> main(('0x3c', '0x5', '0xa8', '0x0', '0x68'))
54612348
>>> main(('0xb', '0x4', '0xb8', '0x1', '0x72'))
59994379
>>> main(('0xc', '0x6', '0xf7', '0x3', '0x7a'))
64483212
>>> main(('0x35', '0x7', '0xc9', '0x1', '0x4c'))
40080373
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Целое.Тесты:
>>> main([('L1', 5), ('L2', 4), ('L3', 526), ('L4', 1), ('L5', 6), ('L6', 125)])
4207085349
>>> main([('L1', 6), ('L2', 7), ('L3', 506), ('L4', 15), ('L5', 6), ('L6', 0)])
14613822
>>> main([('L1', 4), ('L2', 15), ('L3', 941), ('L4', 13), ('L5', 3), ('L6', 66)])
2222708476
>>> main([('L1', 1), ('L2', 2), ('L3', 308), ('L4', 0), ('L5', 1), ('L6', 97)])
3256916497
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.
Выходные данные:
Десятичная строка.
Тесты:
>>> main(16993802802)
'15690907346'
>>> main(1351681206)
'10813440054'
>>> main(11621510970)
'7072655738'
>>> main(5975072968)
'13440652040'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('0x18a9c3')
'L2': '0x38', 'L3': '0x2', 'L4': '0xc5'}
{
>>> main('0x2c3e01')
'L2': '0x40', 'L3': '0x7', 'L4': '0x161'}
{
>>> main('0x1b79b7')
'L2': '0x36', 'L3': '0x6', 'L4': '0xdb'}
{
>>> main('0xe841b')
'L2': '0x3', 'L3': '0x1', 'L4': '0x74'} {
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main({'F1': 141, 'F2': 0, 'F3': 5, 'F4': 19, 'F5': 6, 'F6': 10})
'0x14193a8d'
>>> main({'F1': 67, 'F2': 0, 'F3': 7, 'F4': 10, 'F5': 110, 'F6': 13})
'0x1bb8ae43'
>>> main({'F1': 77, 'F2': 1, 'F3': 6, 'F4': 48, 'F5': 22, 'F6': 9})
'0x125b0d4d'
>>> main({'F1': 198, 'F2': 1, 'F3': 5, 'F4': 51, 'F5': 81, 'F6': 10})
'0x15473bc6'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main(3196)
'0x4', '0x1', '0xc7', '0x0')
(
>>> main(19739)
'0x3', '0x1', '0xd1', '0x1')
(
>>> main(18625)
'0x1', '0x0', '0x8c', '0x1')
(
>>> main(29934)
'0x6', '0x1', '0x34e', '0x1') (
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('81294488')
'54530648'
>>> main('93292896')
'100672960'
>>> main('44014082')
'37759010'
>>> main('105521575')
'16778983'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Целое.Тесты:
>>> main({'H1': '0x3d', 'H2': '0x73', 'H3': '0x37e', 'H4': '0x4', 'H5': '0x2'})
1400773885
>>> main({'H1': '0x30', 'H2': '0x368', 'H3': '0x349', 'H4': '0x1', 'H5': '0x3'})
1732893232
>>> main({'H1': '0x10', 'H2': '0x20', 'H3': '0x22f', 'H4': '0x1', 'H5': '0x1'})
640616464
>>> main({'H1': '0x27', 'H2': '0x1e9', 'H3': '0x84', 'H4': '0x2', 'H5': '0x5'})
2827254375
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('0x16536')
'Y2': 83, 'Y3': 2, 'Y4': 5}
{
>>> main('0x15788')
'Y2': 120, 'Y3': 1, 'Y4': 5}
{
>>> main('0xaf92')
'Y2': 249, 'Y3': 2, 'Y4': 2}
{
>>> main('0x104e3')
'Y2': 78, 'Y3': 0, 'Y4': 4} {
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Целое.
Тесты:
>>> main('0x1d32c')
232
>>> main('0x1cc85')
65766
>>> main('0x1b155')
65752
>>> main('0x124d5')
65682
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('929980690')
'632947059'
>>> main('86571731')
'640155975'
>>> main('497123199')
'1055654155'
>>> main('811131647')
'1065484487'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('H1', '0xc'), ('H2', '0x8'), ('H4', '0x31'), ('H5', '0xe3'), ('H6', '0x4f')])
'1364852211852'
>>> main([('H1', '0xe'), ('H2', '0x16'), ('H4', '0x1'), ('H5', '0x6c'), ('H6', '0x8d')])
'2425985958254'
>>> main([('H1', '0x4'), ('H2', '0x6'), ('H4', '0x20'), ('H5', '0x7a'), ('H6', '0xa6')])
'2855968702564'
>>> main([('H1', '0x4'), ('H2', '0xb'), ('H4', '0x25'), ('H5', '0x181'), ('H6', '0x1c')])
'493974192308'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('B1', '0x2'), ('B2', '0xd'), ('B3', '0x132'), ('B4', '0x1a'), ('B5', '0x39')])
'970246250'
>>> main([('B1', '0x4'), ('B2', '0x73'), ('B3', '0x1a5'), ('B4', '0x12'), ('B5', '0x92')])
'2459342748'
>>> main([('B1', '0x1'), ('B2', '0x2d'), ('B3', '0x1d7'), ('B4', '0x7'), ('B5', '0x3a7')])
'15690849641'
>>> main([('B1', '0x1'), ('B2', '0x6'), ('B3', '0x1b1'), ('B4', '0x1b'), ('B5', '0x2e4')])
'12429739057'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Целое.
Тесты:
>>> main('0x64589f92c8')
681962560652
>>> main('0xf82ddc6f17')
958167868287
>>> main('0xc434ee16b1')
1025173991608
>>> main('0x218c19a6dd')
115377728804