ИКБО-26-22

Вариант №1

Задача №8

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

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

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

0 4 5 10 11 13 14 20 21 23 O1 O2 O3 O4 O5

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

Целое.

0 4 5 7 8 14 15 20 21 23 O1 O5 O4 O2 O3

Тесты:

>>> main('0x855373')
5084563

>>> main('0x723c4b')
15812715

>>> main('0xe0db16')
7078902

>>> main('0xa9e578')
9807800

Вариант №2

Задача №8

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

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

Десятичная строка.
0 9 10 15 16 17 X1 X3 18 24 25 34 X3 X4

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

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

Тесты:

>>> main('27320729867')
('0x10b', '0x71', '0x32e')

>>> main('23302452124')
('0x39c', '0xef', '0x2b6')

>>> main('13547215258')
('0x19a', '0x17a', '0x193')

>>> main('31602564737')
('0x281', '0x1a8', '0x3ad')

Вариант №3

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 6 7 16 17 20 N1 N2 N3 21 29 30 32 33 40 N4 N5 N6

Тесты:

>>> main([('N1', '123'), ('N2', '575'), ('N3', '10'), ('N4', '291'), ('N5', '2'), ('N6', '177')])
'0x162a4751ffb'

>>> main([('N1', '118'), ('N2', '995'), ('N3', '0'), ('N4', '228'), ('N5', '0'), ('N6', '64')])
'0x801c81f1f6'

>>> main([('N1', '1'), ('N2', '899'), ('N3', '8'), ('N4', '443'), ('N5', '1'), ('N6', '82')])
'0xa47771c181'

>>> main([('N1', '123'), ('N2', '874'), ('N3', '3'), ('N4', '170'), ('N5', '2'), ('N6', '236')])
'0x1d89547b57b'

Вариант №4

Задача №8

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

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

Целое.

0 3 4 8 9 10 11 12 Y1 Y2 Y3 Y4 Y5

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

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

0 3 4 5 6 7 8 12 Y1 Y4 Y3 Y5 Y2

Тесты:

>>> main(2005)
'0x1d35'

>>> main(858)
'0x152a'

>>> main(2591)
'0x16f'

>>> main(4231)
'0x887'

Вариант №5

Задача №8

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

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

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

0 3 4 13 14 18 P1 P3 19 23 24 30 31 37 P3 P4 P5

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

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

0 6 7 10 11 18 P5 P1 P3 19 20 21 27 28 37 P3 P4

Тесты:

>>> main('214875489102')
'15892324'

>>> main('154721974909')
'12893896'

>>> main('240268429194')
'237219183'

>>> main('235480480569')
'175594733'

Вариант №6

Задача №8

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

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

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

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

Десятичная строка.
0 2 3 12 13 21 22 24 D1 D2 D3 D4 25 29 30 39 40 48 D4 D5 D6

Тесты:

>>> main([('D1', '3'), ('D2', '726'), ('D3', '278'), ('D4', '208'), ('D5', '139'), ('D6', '121')])
'133191031772851'

>>> main([('D1', '4'), ('D2', '575'), ('D3', '266'), ('D4', '81'), ('D5', '65'), ('D6', '435')])
'478357693223420'

>>> main([('D1', '6'), ('D2', '808'), ('D3', '200'), ('D4', '45'), ('D5', '288'), ('D6', '442')])
'486293567510854'

>>> main([('D1', '7'), ('D2', '326'), ('D3', '71'), ('D4', '171'), ('D5', '399'), ('D6', '511')])
'562279582591543'

Вариант №7

Задача №8

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

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

Десятичная строка.
0 7 8 9 10 15 16 22 L1 L2 L3 L4

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

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

Тесты:

>>> main('5969917')
('253', '3', '5', '91')

>>> main('1037294')
('238', '3', '52', '15')

>>> main('3753589')
('117', '2', '17', '57')

>>> main('8107037')
('29', '0', '45', '123')

Вариант №8

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 4 5 6 7 9 10 14 15 18 M1 M2 M3 M4 M5

Тесты:

>>> main([('M1', 13), ('M2', 0), ('M3', 0), ('M4', 6), ('M5', 15)])
'0x7980d'

>>> main([('M1', 6), ('M2', 1), ('M3', 7), ('M4', 7), ('M5', 15)])
'0x79fa6'

>>> main([('M1', 0), ('M2', 2), ('M3', 1), ('M4', 26), ('M5', 14)])
'0x768c0'

>>> main([('M1', 28), ('M2', 1), ('M3', 7), ('M4', 11), ('M5', 1)])
'0xafbc'

Вариант №9

Задача №8

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

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

Десятичная строка.
0 8 9 14 15 16 17 P1 P2 P3 P4 18 26 27 34 35 P4 P6

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

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

Тесты:

>>> main('55616642357')
{'P1': '309', 'P2': '14', 'P3': '1', 'P4': '385', 'P6': '1'}

>>> main('16083728529')
{'P1': '145', 'P2': '28', 'P3': '0', 'P4': '853', 'P6': '0'}

>>> main('12920268820')
{'P1': '20', 'P2': '20', 'P3': '3', 'P4': '269', 'P6': '0'}

>>> main('59891939232')
{'P1': '416', 'P2': '59', 'P3': '0', 'P4': '235', 'P6': '1'}

Вариант №10

Задача №8

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

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

Целое.

0 5 6 15 16 22 23 24 25 26 29 Q1 Q3 Q4 Q5 Q6

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

Целое.

0 1 4 5 10 11 17 18 19 20 29 Q4 Q6 Q1 Q3 Q5

Тесты:

>>> main(1042997140)
610974

>>> main(801548317)
930743

>>> main(25644250)
277313

>>> main(542468913)
175664

Вариант №11

Задача №8

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

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

Десятичная строка.
0 5 6 11 12 19 20 23 V1 V3 V4

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

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

Тесты:

>>> main('7142254')
[('V1', '46'), ('V3', '207'), ('V4', '6')]

>>> main('11398097')
[('V1', '17'), ('V3', '222'), ('V4', '10')]

>>> main('14473554')
[('V1', '18'), ('V3', '205'), ('V4', '13')]

>>> main('16283683')
[('V1', '35'), ('V3', '135'), ('V4', '15')]

Вариант №12

Задача №8

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

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

Целое.

0 4 5 10 11 14 15 F1 F2 F3 16 21 22 27 28 31 F5 F6

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

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

0 5 6 11 12 15 F2 F5 16 18 19 22 23 27 28 31 F3 F1 F6

Тесты:

>>> main(472407397)
'316148779'

>>> main(1818193195)
'1709706345'

>>> main(690517051)
'770705697'

>>> main(3330968503)
'3414689437'

Вариант №13

Задача №8

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

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

Целое.

0 1 5 6 7 8 9 N1 N2 N3 N4 N5

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

Целое.

0 1 2 3 4 5 9 N5 N4 N3 N1 N2

Тесты:

>>> main(283)
434

>>> main(621)
725

>>> main(897)
27

>>> main(484)
590

Вариант №14

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 1 6 7 14 15 24 H1 H3 H4

Тесты:

>>> main([('H1', 0), ('H3', 171), ('H4', 645)])
'0x142d580'

>>> main([('H1', 1), ('H3', 64), ('H4', 139)])
'0x45a001'

>>> main([('H1', 1), ('H3', 158), ('H4', 551)])
'0x113cf01'

>>> main([('H1', 0), ('H3', 90), ('H4', 342)])
'0xab2d00'

Вариант №15

Задача №8

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

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

Десятичная строка.
0 8 9 14 15 16 Y1 Y2 Y3 Y4

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

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

Тесты:

>>> main('126719')
{'Y1': '0xff', 'Y2': '0x37', 'Y3': '0x1', 'Y4': '0x1'}

>>> main('15799')
{'Y1': '0x1b7', 'Y2': '0x1e', 'Y3': '0x0', 'Y4': '0x0'}

>>> main('20925')
{'Y1': '0x1bd', 'Y2': '0x28', 'Y3': '0x0', 'Y4': '0x0'}

>>> main('39757')
{'Y1': '0x14d', 'Y2': '0xd', 'Y3': '0x1', 'Y4': '0x0'}

Вариант №16

Задача №8

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

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

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

0 4 5 6 14 15 16 23 24 27 N1 N2 N3 N4 N5 N6

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

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

0 1 5 6 9 10 11 19 20 27 N2 N1 N6 N4 N3 N5

Тесты:

>>> main('45978760')
'0xbd29490'

>>> main('145373696')
'0xaa74200'

>>> main('49292922')
'0xf04c8b5'

>>> main('1232184')
'0x129a431'

Вариант №17

Задача №8

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

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

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

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

Десятичная строка.
0 4 5 11 12 18 W1 W2 W3 19 20 21 27 28 36 W3 W4 W5

Тесты:

>>> main((24, 46, 5, 53, 388))
'104264127960'

>>> main((5, 92, 190, 44, 425))
'114178124677'

>>> main((12, 28, 18, 10, 507))
'136117822348'

>>> main((6, 9, 379, 84, 301))
'80976785702'

Вариант №18

Задача №8

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

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

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

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

Целое.
0 5 6 13 14 16 T2 T3 17 23 24 25 26 33 T3 T4 T5

Тесты:

>>> main([('T2', '0x63'), ('T3', '0x1b7'), ('T4', '0x0'), ('T5', '0xef')])
16046217408

>>> main([('T2', '0xf4'), ('T3', '0x1f3'), ('T4', '0x0'), ('T5', '0x4d')])
5175573760

>>> main([('T2', '0xca'), ('T3', '0xa3'), ('T4', '0x1'), ('T5', '0x4c')])
5119734400

>>> main([('T2', '0x77'), ('T3', '0x19'), ('T4', '0x1'), ('T5', '0x82')])
8741346752

Вариант №19

Задача №8

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

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

Целое.
0 7 8 14 15 22 23 24 25 29 B2 B3 B4 B5 B6

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

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

Тесты:

>>> main(548951442)
[('B2', '0x55'), ('B3', '0x70'), ('B4', '0x1'), ('B5', '0x0'), ('B6', '0x10')]

>>> main(367740129)
[('B2', '0x44'), ('B3', '0xd6'), ('B4', '0x1'), ('B5', '0x1'), ('B6', '0xa')]

>>> main(220231546)
[('B2', '0x77'), ('B3', '0x40'), ('B4', '0x0'), ('B5', '0x1'), ('B6', '0x6')]

>>> main(118360737)
[('B2', '0xa'), ('B3', '0x1c'), ('B4', '0x0'), ('B5', '0x1'), ('B6', '0x3')]

Вариант №20

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 9 10 11 13 14 18 V2 V3 V4

Тесты:

>>> main([('V2', '0x0'), ('V3', '0x2'), ('V4', '0x13')])
'0x4d000'

>>> main([('V2', '0x0'), ('V3', '0x6'), ('V4', '0x14')])
'0x53000'

>>> main([('V2', '0x1'), ('V3', '0x3'), ('V4', '0x13')])
'0x4dc00'

>>> main([('V2', '0x0'), ('V3', '0x2'), ('V4', '0x1a')])
'0x69000'

Вариант №21

Задача №8

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

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

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

0 1 2 9 10 17 18 24 P1 P2 P4

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

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

0 7 8 9 10 17 18 24 P2 P1 P4

Тесты:

>>> main('0xbd23')
'840'

>>> main('0x1cb64f')
'1835923'

>>> main('0x1c379d1')
'29360500'

>>> main('0x1d2752')
'1835732'

Вариант №22

Задача №8

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

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

Шестнадцатиричная строка.
0 5 6 12 13 15 J1 J2 J3 16 22 23 28 29 31 J3 J4 J5

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

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

Тесты:

>>> main('0x935fe91e')
(30, 36, 767, 38, 4)

>>> main('0xb306cc6f')
(47, 49, 54, 38, 5)

>>> main('0xb1b57957')
(23, 101, 427, 35, 5)

>>> main('0xa99c31c5')
(5, 71, 225, 19, 5)

Вариант №23

Задача №8

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

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

Шестнадцатиричная строка.
0 6 7 14 15 18 X1 X2 19 24 25 26 33 34 36 X4 X5 X6

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

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

Тесты:

>>> main('0x60ffb0189')
[('X1', '0x9'), ('X2', '0x3'), ('X4', '0x1'), ('X5', '0x83'), ('X6', '0x1')]

>>> main('0x51dde74cc')
[('X1', '0x4c'), ('X2', '0xe9'), ('X4', '0x0'), ('X5', '0x47'), ('X6', '0x1')]

>>> main('0x1a312e1929')
[('X1', '0x29'), ('X2', '0x32'), ('X4', '0x0'), ('X5', '0x8c'), ('X6', '0x6')]

>>> main('0x1f3331d7f3')
[('X1', '0x73'), ('X2', '0xaf'), ('X4', '0x1'), ('X5', '0xcc'), ('X6', '0x7')]

Вариант №24

Задача №8

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

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

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

0 4 5 12 13 17 18 27 28 29 X1 X2 X3 X5

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

Целое.

0 4 5 6 7 16 17 21 22 29 X1 X5 X3 X2

Тесты:

>>> main('0xbbcaa8a')
352976906

>>> main('0x239dbbaa')
928645194

>>> main('0x4d3d208')
607911944

>>> main('0x1b588398')
117964856

Вариант №25

Задача №8

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

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

Шестнадцатиричная строка.
0 8 9 12 13 19 20 28 A1 A2 A3 A4

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

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

Тесты:

>>> main('0x115c4d7a')
{'A1': 378, 'A2': 6, 'A3': 98, 'A4': 277}

>>> main('0xa1bafad')
{'A1': 429, 'A2': 7, 'A3': 93, 'A4': 161}

>>> main('0x18d34475')
{'A1': 117, 'A2': 2, 'A3': 26, 'A4': 397}

>>> main('0x1a577b66')
{'A1': 358, 'A2': 13, 'A3': 59, 'A4': 421}

Вариант №26

Задача №8

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

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

Шестнадцатиричная строка.
0 1 6 7 8 17 U1 U2 U3 U4

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

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

Тесты:

>>> main('0x5345')
(1, 34, 0, 83)

>>> main('0x36dda')
(0, 45, 1, 877)

>>> main('0x124d0')
(0, 40, 1, 292)

>>> main('0x3fd4f')
(1, 39, 0, 1021)

Вариант №27

Задача №8

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

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

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

0 6 7 16 X1 X2 17 18 19 26 27 32 X3 X4 X5

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

Целое.

0 9 10 16 X2 X1 17 24 25 26 27 32 X4 X3 X5

Тесты:

>>> main('0xc5dc46e1')
3312944269

>>> main('0x7b4f6696')
2127715021

>>> main('0x1feb07000')
8483766496

>>> main('0x131515e48')
5105853116

Вариант №28

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 7 8 12 13 16 L1 L2 L3 17 18 19 22 23 28 29 32 L3 L5 L6

Тесты:

>>> main(('86', '2', '15', '17', '8'))
'0x10881e256'

>>> main(('177', '8', '54', '15', '3'))
'0x6786c8b1'

>>> main(('252', '27', '26', '44', '12'))
'0x196035bfc'

>>> main(('39', '19', '56', '17', '10'))
'0x148871327'

Вариант №29

Задача №8

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

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

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

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

Целое.
0 7 8 12 13 15 L1 L2 L3 16 22 23 31 L3

Тесты:

>>> main((72, 2, 556))
4555336

>>> main((51, 5, 345))
2827571

>>> main((167, 27, 522))
4283303

>>> main((93, 1, 200))
1638749

Вариант №30

Задача №8

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

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

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

0 2 3 11 12 16 E1 E2 17 20 21 26 27 32 E4 E5

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

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

0 5 6 14 15 16 E4 E1 17 18 23 24 32 E1 E5 E2

Тесты:

>>> main('1382839059')
'0x62298013'

>>> main('3200190594')
'0x1105d0035'

>>> main('1465158891')
'0x19d29803a'

>>> main('1936596627')
'0x1d239801b'

Вариант №31

Задача №8

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

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

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

0 7 8 9 10 16 17 19 20 28 W1 W2 W3 W4 W5

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

Целое.

0 6 7 15 16 17 18 20 21 28 W3 W5 W2 W4 W1

Тесты:

>>> main('0x13342cc')
428214736

>>> main('0x1ad37b5d')
195548894

>>> main('0x267951f')
65868645

>>> main('0x1192e39e')
331844792

Вариант №32

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 6 7 8 9 10 14 15 19 20 21 O1 O2 O3 O4 O5 O6

Тесты:

>>> main([('O1', 49), ('O2', 0), ('O3', 2), ('O4', 11), ('O5', 3), ('O6', 3)])
'0x31ae31'

>>> main([('O1', 74), ('O2', 0), ('O3', 1), ('O4', 16), ('O5', 19), ('O6', 3)])
'0x39c14a'

>>> main([('O1', 58), ('O2', 0), ('O3', 0), ('O4', 18), ('O5', 0), ('O6', 3)])
'0x30483a'

>>> main([('O1', 124), ('O2', 0), ('O3', 0), ('O4', 11), ('O5', 4), ('O6', 0)])
'0x22c7c'

Вариант №33

Задача №8

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

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

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

0 9 10 11 14 15 19 G2 G3 G4

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

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

0 3 4 8 9 18 19 G3 G4 G2

Тесты:

>>> main('0x4bd1a')
'524439'

>>> main('0x3f24')
'524295'

>>> main('0xd4f0a')
'524713'

>>> main('0x907e8')
'524576'

Вариант №34

Задача №8

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

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

Целое.

0 1 2 9 10 16 I1 I2 I3 17 23 24 33 I4 I5

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

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

0 9 10 11 12 16 I5 I1 I3 17 18 19 25 26 33 I3 I4 I2

Тесты:

>>> main(11537211135)
'12862848687'

>>> main(13427632115)
'16934870816'

>>> main(3766014176)
'3789766880'

>>> main(8059775610)
'10630048224'

Вариант №35

Задача №8

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

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

Целое.

0 1 2 3 4 10 11 12 14 15 18 G1 G2 G3 G4 G5 G6

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

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

0 3 4 5 6 7 13 14 16 17 18 G6 G4 G1 G3 G5 G2

Тесты:

>>> main(173423)
'437093'

>>> main(465525)
'152510'

>>> main(391873)
'120379'

>>> main(473866)
'317534'

Вариант №36

Задача №8

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

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

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

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

Десятичная строка.
0 7 8 17 18 26 B1 B2 B3 27 28 37 38 43 44 53 B3 B4 B5

Тесты:

>>> main({'B1': 187, 'B2': 570, 'B3': 651, 'B4': 281, 'B5': 26})
'7222426745531'

>>> main({'B1': 241, 'B2': 198, 'B3': 691, 'B4': 231, 'B5': 31})
'8583404898033'

>>> main({'B1': 246, 'B2': 138, 'B3': 148, 'B4': 573, 'B5': 7})
'2077997697782'

>>> main({'B1': 139, 'B2': 154, 'B3': 740, 'B4': 131, 'B5': 11})
'3059016047243'

Вариант №37

Задача №8

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

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

Десятичная строка.
0 1 2 6 7 13 14 15 16 17 18 23 Y1 Y2 Y3 Y4 Y5 Y6

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

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

Тесты:

>>> main('1092676')
[('Y1', '0x0'), ('Y2', '0x11'), ('Y3', '0x58'), ('Y4', '0x2'), ('Y5', '0x0'), ('Y6', '0x4')]

>>> main('11529029')
[('Y1', '0x1'), ('Y2', '0x11'), ('Y3', '0x56'), ('Y4', '0x3'), ('Y5', '0x3'), ('Y6', '0x2b')]

>>> main('14983962')
[('Y1', '0x2'), ('Y2', '0x6'), ('Y3', '0x46'), ('Y4', '0x2'), ('Y5', '0x0'), ('Y6', '0x39')]

>>> main('2280266')
[('Y1', '0x2'), ('Y2', '0x12'), ('Y3', '0x16'), ('Y4', '0x3'), ('Y5', '0x2'), ('Y6', '0x8')]

Вариант №38

Задача №8

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

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

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

0 6 7 15 16 25 26 27 K2 K3 K4

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

Целое.

0 1 2 11 12 20 21 27 K4 K3 K2

Тесты:

>>> main('0x3be41cb')
540408

>>> main('0xf5b78a9')
990575

>>> main('0x514df30')
1827921

>>> main('0xa644504')
567698

Вариант №39

Задача №8

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

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

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

0 8 9 14 15 24 25 26 V1 V2 V3 V4 V5

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

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

0 5 6 14 15 24 25 26 V2 V1 V3 V5 V4

Тесты:

>>> main('9859584')
'9830457'

>>> main('25439342')
'25435030'

>>> main('131634249')
'131633738'

>>> main('65948383')
'99497957'

Вариант №40

Задача №8

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

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

Шестнадцатиричная строка.
0 4 5 6 7 9 10 12 13 14 15 23 K1 K2 K3 K4 K5 K6

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

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

Тесты:

>>> main('0xaaf519')
[('K1', 25), ('K2', 0), ('K3', 2), ('K4', 5), ('K5', 3), ('K6', 341)]

>>> main('0xd407fc')
[('K1', 28), ('K2', 3), ('K3', 7), ('K4', 1), ('K5', 0), ('K6', 424)]

>>> main('0x73f9bf')
[('K1', 31), ('K2', 1), ('K3', 3), ('K4', 6), ('K5', 3), ('K6', 231)]

>>> main('0x9eeb7e')
[('K1', 30), ('K2', 3), ('K3', 6), ('K4', 2), ('K5', 3), ('K6', 317)]