ИМБО-02-22

Вариант №1

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Целое.

0 8 9 15 16 21 22 29 F1 F2 F3

Выходные данные:

Шестнадцатиричная строка.

0 5 6 12 13 21 22 29 F3 F2 F1

Тесты:

>>> main(776632)
'0x371b0b'

>>> main(1224797)
'0xbb612'

>>> main(4044752)
'0x3a16fd'

>>> main(1972692)
'0x3a831e'

Вариант №2

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Десятичная строка.

0 8 9 10 11 18 19 20 21 29 R1 R2 R3 R4 R5

Выходные данные:

Десятичная строка.

0 1 2 9 10 11 12 20 21 29 R2 R3 R4 R5 R1

Тесты:

>>> main('597092483')
'275893108'

>>> main('457677325')
'28156877'

>>> main('780584137')
'423052130'

>>> main('372223843')
'745215959'

Вариант №3

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.

Выходные данные:

Целое.
0 6 7 12 13 17 Q1 Q2 18 19 20 25 26 27 34 Q4 Q5 Q6

Тесты:

>>> 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

Вариант №4

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Шестнадцатиричная строка.
0 1 2 3 4 5 6 7 14 D1 D2 D3 D5

Выходные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.

Тесты:

>>> main('0x1375')
('1', '1', '1', '38')

>>> main('0x69df')
('3', '3', '1', '211')

>>> main('0xce6')
('2', '1', '0', '25')

>>> main('0x4a0e')
('2', '3', '0', '148')

Вариант №5

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.

Выходные данные:

Целое.
0 5 6 11 12 13 17 18 20 E1 E2 E3 E4 E5

Тесты:

>>> 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

Вариант №6

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.

Выходные данные:

Десятичная строка.
0 5 6 15 16 23 24 28 R1 R2 R3 R4

Тесты:

>>> 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'

Вариант №7

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.

Выходные данные:

Целое.
0 3 4 10 11 16 17 19 N1 N2 N3 N4

Тесты:

>>> 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

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Десятичная строка.

0 3 4 9 10 16 17 19 T1 T2 T4

Выходные данные:

Десятичная строка.

0 2 3 6 7 13 14 19 T4 T1 T2

Тесты:

>>> main('837820')
'180326'

>>> main('555892')
'901156'

>>> main('701213')
'802925'

>>> main('864135')
'917566'

Вариант №9

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Целое.
0 1 4 5 7 8 12 M1 M2 M3 M4

Выходные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.

Тесты:

>>> 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)]

Вариант №10

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Десятичная строка.

0 7 8 15 H1 H2 16 17 18 19 25 26 31 H4 H5 H6

Выходные данные:

Десятичная строка.

0 5 6 12 13 14 15 H6 H5 H4 H1 16 22 23 24 31 H1 H2

Тесты:

>>> main('1893924538')
'4267517724'

>>> main('3808993577')
'2702481528'

>>> main('483189354')
'3795142215'

>>> main('3985518478')
'793209979'

Вариант №11

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Десятичная строка.

0 1 2 3 4 7 8 12 F1 F2 F3 F4

Выходные данные:

Целое.

0 4 5 6 7 8 9 12 F4 F2 F1 F3

Тесты:

>>> main('3737')
4814

>>> main('7461')
1213

>>> main('2814')
8042

>>> main('4689')
2706

Вариант №12

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.

Выходные данные:

Десятичная строка.
0 1 3 4 9 10 15 W1 W2 W4

Тесты:

>>> 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'

Вариант №13

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.

Выходные данные:

Целое.
0 1 2 9 10 14 15 18 I1 I2 I3 I4 19 21 22 31 32 36 I4 I5 I6

Тесты:

>>> 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

Вариант №14

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.

Выходные данные:

Шестнадцатиричная строка.
0 8 9 10 15 F1 F2 F3 16 18 19 21 22 31 F3 F4 F5

Тесты:

>>> 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'

Вариант №15

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.

Выходные данные:

Целое.
0 1 6 7 11 12 21 22 27 C1 C2 C3 C4 C5

Тесты:

>>> 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

Вариант №16

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Десятичная строка.

0 9 10 11 12 13 14 T1 T2 T3

Выходные данные:

Шестнадцатиричная строка.

0 9 10 11 12 13 14 T1 T3 T2

Тесты:

>>> main('6626')
'0x25e2'

>>> main('11369')
'0x3869'

>>> main('8819')
'0xa73'

>>> main('1022')
'0x3fe'

Вариант №17

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Целое.

0 3 4 7 8 16 17 26 K1 K2 K3

Выходные данные:

Шестнадцатиричная строка.

0 3 4 12 13 16 17 26 K1 K3 K2

Тесты:

>>> main(86071)
'0x7507'

>>> main(118002)
'0x1fcc2'

>>> main(5688)
'0x6168'

>>> main(117752)
'0x1fcb8'

Вариант №18

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.

Выходные данные:

Целое.
0 1 2 11 12 15 16 23 24 29 G1 G2 G3 G5

Тесты:

>>> main(('0x3', '0x2cf', '0xb', '0x3b'))
989903679

>>> main(('0x2', '0x15', '0x6', '0xd'))
218128470

>>> main(('0x1', '0x32b', '0x3', '0x4'))
67124397

>>> main(('0x1', '0x9b', '0xc', '0x1e'))
503366253

Вариант №19

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Десятичная строка.

0 6 7 15 16 21 22 25 26 29 I1 I2 I3 I4 I5

Выходные данные:

Десятичная строка.

0 3 4 7 8 16 17 22 23 29 I4 I5 I2 I3 I1

Тесты:

>>> main('255468362')
'628377148'

>>> main('79755398')
'50458899'

>>> main('637654065')
'411281560'

>>> main('101107784')
'604868632'

Вариант №20

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: целое.

Выходные данные:

Десятичная строка.
0 1 2 5 6 8 9 16 J1 J2 J3 J4

Тесты:

>>> 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'

Вариант №21

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.

Выходные данные:

Десятичная строка.
0 9 10 16 Z1 Z2 17 19 20 26 27 32 Z2 Z3 Z4

Тесты:

>>> main((214, 84, 105, 35))
'4807807190'

>>> main((116, 772, 115, 37))
'5087432820'

>>> main((506, 278, 30, 17))
'2313443834'

>>> main((192, 340, 21, 48))
'6464819392'

Вариант №22

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Целое.
0 6 7 11 12 19 20 26 27 28 K1 K2 K3 K4 K5

Выходные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: целое.

Тесты:

>>> 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}

Вариант №23

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Целое.
0 3 4 10 11 15 16 17 A1 A2 A3 A4 18 22 23 31 32 35 A4 A5 A6

Выходные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.

Тесты:

>>> 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'}

Вариант №24

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Шестнадцатиричная строка.
0 1 6 7 8 9 10 11 20 A1 A2 A3 A4 A5 A6

Выходные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.

Тесты:

>>> 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)]

Вариант №25

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Десятичная строка.
0 2 3 6 7 14 15 17 Y1 Y2 Y3 Y4 18 24 25 34 Y4 Y5

Выходные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.

Тесты:

>>> 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'}

Вариант №26

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Десятичная строка.
0 9 10 16 J1 J2 17 18 27 28 30 31 32 33 J2 J4 J5 J6

Выходные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.

Тесты:

>>> 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')]

Вариант №27

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.

Выходные данные:

Целое.
0 5 6 8 9 16 17 18 19 25 B1 B2 B3 B4 B5

Тесты:

>>> 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

Вариант №28

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.

Выходные данные:

Целое.
0 2 3 6 7 15 L1 L2 L3 16 17 20 21 24 25 31 L3 L4 L5 L6

Тесты:

>>> 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

Вариант №29

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Целое.

0 4 5 9 10 15 16 U1 U3 U4 17 25 26 30 31 33 U4 U5 U6

Выходные данные:

Десятичная строка.

0 4 5 10 11 13 14 16 U1 U3 U6 17 18 19 28 29 33 U4 U5

Тесты:

>>> main(16993802802)
'15690907346'

>>> main(1351681206)
'10813440054'

>>> main(11621510970)
'7072655738'

>>> main(5975072968)
'13440652040'

Вариант №30

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Шестнадцатиричная строка.
0 2 3 9 10 12 13 21 L2 L3 L4

Выходные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.

Тесты:

>>> 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'}

Вариант №31

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: целое.

Выходные данные:

Шестнадцатиричная строка.
0 7 8 9 11 12 17 18 24 25 28 F1 F2 F3 F4 F5 F6

Тесты:

>>> 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'

Вариант №32

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Целое.
0 2 3 4 13 14 M1 M2 M3 M4

Выходные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.

Тесты:

>>> main(3196)
('0x4', '0x1', '0xc7', '0x0')

>>> main(19739)
('0x3', '0x1', '0xd1', '0x1')

>>> main(18625)
('0x1', '0x0', '0x8c', '0x1')

>>> main(29934)
('0x6', '0x1', '0x34e', '0x1')

Вариант №33

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Десятичная строка.

0 1 4 5 11 12 19 20 24 25 26 B1 B2 B3 B5 B6

Выходные данные:

Десятичная строка.

0 1 4 5 6 7 13 14 21 22 26 B1 B2 B6 B3 B5

Тесты:

>>> main('81294488')
'54530648'

>>> main('93292896')
'100672960'

>>> main('44014082')
'37759010'

>>> main('105521575')
'16778983'

Вариант №34

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.

Выходные данные:

Целое.
0 5 6 15 16 18 H1 H2 H3 19 25 26 28 29 31 32 37 H3 H4 H5

Тесты:

>>> 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

Вариант №35

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Шестнадцатиричная строка.
0 3 4 11 12 13 14 17 Y2 Y3 Y4

Выходные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: целое.

Тесты:

>>> 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}

Вариант №36

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Шестнадцатиричная строка.

0 1 2 9 10 16 B1 B2 B4

Выходные данные:

Целое.

0 1 7 8 15 16 B2 B4 B1

Тесты:

>>> main('0x1d32c')
232

>>> main('0x1cc85')
65766

>>> main('0x1b155')
65752

>>> main('0x124d5')
65682

Вариант №37

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Десятичная строка.

0 2 3 4 5 12 13 21 22 29 J1 J2 J4 J5

Выходные данные:

Десятичная строка.

0 8 9 16 17 24 25 27 28 29 J4 J5 J1 J2

Тесты:

>>> main('929980690')
'632947059'

>>> main('86571731')
'640155975'

>>> main('497123199')
'1055654155'

>>> main('811131647')
'1065484487'

Вариант №38

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.

Выходные данные:

Десятичная строка.
0 3 4 8 9 18 19 20 H1 H2 H4 21 24 25 33 34 41 H4 H5 H6

Тесты:

>>> 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'

Вариант №39

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.

Выходные данные:

Десятичная строка.
0 2 3 9 10 18 B1 B2 B3 19 23 24 33 34 37 B4 B5

Тесты:

>>> 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'

Вариант №40

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Шестнадцатиричная строка.

0 9 10 17 18 19 X1 X2 X3 20 23 24 25 26 34 35 39 X3 X4 X5 X6

Выходные данные:

Целое.

0 4 5 12 13 19 X6 X2 X5 20 21 22 23 24 33 34 39 X5 X4 X1 X3

Тесты:

>>> main('0x64589f92c8')
681962560652

>>> main('0xf82ddc6f17')
958167868287

>>> main('0xc434ee16b1')
1025173991608

>>> main('0x218c19a6dd')
115377728804