ИВБО-06-22

Вариант №1

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 7 8 9 10 11 14 15 20 L1 L2 L3 L5

Тесты:

>>> main([('L1', '0x2f'), ('L2', '0x1'), ('L3', '0x0'), ('L5', '0x26')])
'0x13012f'

>>> main([('L1', '0x84'), ('L2', '0x0'), ('L3', '0x3'), ('L5', '0x37')])
'0x1b8684'

>>> main([('L1', '0xb8'), ('L2', '0x1'), ('L3', '0x0'), ('L5', '0x17')])
'0xb81b8'

>>> main([('L1', '0x25'), ('L2', '0x1'), ('L3', '0x2'), ('L5', '0x1d')])
'0xe8525'

Вариант №2

Задача №8

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

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

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

0 1 2 6 7 9 10 14 R1 R2 R3 R4

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

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

0 4 5 9 10 11 12 14 R2 R4 R1 R3

Тесты:

>>> main('2799')
'0x5c5b'

>>> main('4512')
'0x3088'

>>> main('23022')
'0x3adb'

>>> main('7848')
'0x50ea'

Вариант №3

Задача №8

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

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

Целое.
0 6 7 11 12 17 V1 V2 V3 18 20 21 29 30 34 V3 V4 V5

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

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

Тесты:

>>> main(19493603886)
(46, 20, 140, 79, 18)

>>> main(21434050190)
(14, 13, 282, 492, 19)

>>> main(15074408197)
(5, 14, 19, 20, 14)

>>> main(22905754460)
(92, 6, 161, 170, 21)

Вариант №4

Задача №8

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

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

Шестнадцатиричная строка.
0 9 10 15 16 17 20 21 23 24 26 B1 B2 B4 B5 B6

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

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

Тесты:

>>> main('0x5705bab')
[('B1', '0x3ab'), ('B2', '0x16'), ('B4', '0x8'), ('B5', '0x3'), ('B6', '0x5')]

>>> main('0x6a5e242')
[('B1', '0x242'), ('B2', '0x38'), ('B4', '0x2'), ('B5', '0x5'), ('B6', '0x6')]

>>> main('0x4f842bd')
[('B1', '0x2bd'), ('B2', '0x10'), ('B4', '0xc'), ('B5', '0x7'), ('B6', '0x4')]

>>> main('0x2569422')
[('B1', '0x22'), ('B2', '0x25'), ('B4', '0xb'), ('B5', '0x2'), ('B6', '0x2')]

Вариант №5

Задача №8

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

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

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

0 6 7 13 14 17 18 19 K1 K2 K3 K4 20 23 24 33 34 38 K4 K5 K6

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

Целое.

0 4 5 10 11 17 18 19 K6 K4 K1 K3 20 21 22 31 32 38 K3 K5 K2

Тесты:

>>> main('150029206205')
24620690312

>>> main('86165722239')
171862392581

>>> main('229008569131')
439501545421

>>> main('324751116920')
89775916402

Вариант №6

Задача №8

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

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

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

0 5 6 12 13 17 18 T1 T2 T3 T4 19 27 28 37 T4

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

Целое.

0 6 7 16 17 18 T2 T4 19 26 27 31 32 37 T3 T1

Тесты:

>>> main('75985277')
265616920773

>>> main('94902253')
193273574751

>>> main('231528875')
185489013222

>>> main('29007009')
144418289522

Вариант №7

Задача №8

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

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

Шестнадцатиричная строка.
0 3 4 6 7 13 14 19 20 23 24 27 O1 O2 O3 O4 O6

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

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

Тесты:

>>> main('0x5a699d9')
[('O1', '0x9'), ('O2', '0x5'), ('O3', '0x33'), ('O4', '0x1a'), ('O6', '0x5')]

>>> main('0x7a4064d')
[('O1', '0xd'), ('O2', '0x4'), ('O3', '0xc'), ('O4', '0x10'), ('O6', '0x7')]

>>> main('0xd74c75c')
[('O1', '0xc'), ('O2', '0x5'), ('O3', '0xe'), ('O4', '0x13'), ('O6', '0xd')]

>>> main('0xb119c5e')
[('O1', '0xe'), ('O2', '0x5'), ('O3', '0x38'), ('O4', '0x6'), ('O6', '0xb')]

Вариант №8

Задача №8

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

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

Шестнадцатиричная строка.
0 8 9 15 16 18 19 22 Y1 Y2 Y3 Y4 23 28 29 38 39 45 Y4 Y5 Y6

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

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

Тесты:

>>> main('0x4f574de7012')
{'Y1': '18', 'Y2': '56', 'Y3': '6', 'Y4': '667', 'Y5': '939', 'Y6': '9'}

>>> main('0x1b2aecd72816')
{'Y1': '22', 'Y2': '20', 'Y3': '7', 'Y4': '410', 'Y5': '343', 'Y6': '54'}

>>> main('0x176d3bf27dc')
{'Y1': '476', 'Y2': '19', 'Y3': '7', 'Y4': '631', 'Y5': '950', 'Y6': '2'}

>>> main('0x22b558ef7787')
{'Y1': '391', 'Y2': '59', 'Y3': '7', 'Y4': '797', 'Y5': '426', 'Y6': '69'}

Вариант №9

Задача №8

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

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

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

0 1 3 4 5 6 9 10 18 19 26 N2 N3 N4 N5 N6

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

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

0 7 8 9 17 18 19 20 23 24 26 N6 N5 N3 N4 N2

Тесты:

>>> main('0x105b259')
'76994592'

>>> main('0x2ad2833')
'17732693'

>>> main('0x417eab8')
'78640258'

>>> main('0x5b789b3')
'24102070'

Вариант №10

Задача №8

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

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

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

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

Целое.
0 4 5 11 12 18 19 24 N1 N2 N3 N4

Тесты:

>>> main(('9', '100', '101', '30'))
16145545

>>> main(('27', '117', '20', '9'))
4804283

>>> main(('17', '93', '31', '19'))
10091441

>>> main(('3', '23', '6', '38'))
19948259

Вариант №11

Задача №8

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

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

Шестнадцатиричная строка.
0 3 4 9 10 17 18 19 M1 M2 M4

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

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

Тесты:

>>> main('0x95770')
('0', '55', '2')

>>> main('0xfbb8f')
('15', '56', '3')

>>> main('0x6cd30')
('0', '19', '1')

>>> main('0xa081f')
('15', '1', '2')

Вариант №12

Задача №8

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

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

Целое.
0 5 6 7 13 14 15 16 J1 J2 J3 J4 J5

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

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

Тесты:

>>> main(37012)
[('J1', '20'), ('J2', '0'), ('J3', '33'), ('J4', '0'), ('J5', '1')]

>>> main(80193)
[('J1', '1'), ('J2', '1'), ('J3', '114'), ('J4', '0'), ('J5', '2')]

>>> main(27242)
[('J1', '42'), ('J2', '1'), ('J3', '84'), ('J4', '1'), ('J5', '0')]

>>> main(93743)
[('J1', '47'), ('J2', '0'), ('J3', '92'), ('J4', '1'), ('J5', '2')]

Вариант №13

Задача №8

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

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

Целое.
0 4 5 12 13 18 19 25 H1 H2 H3

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

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

Тесты:

>>> main(61465)
{'H1': '25', 'H2': '128', 'H3': '7'}

>>> main(450147)
{'H1': '3', 'H2': '243', 'H3': '54'}

>>> main(252861)
{'H1': '29', 'H2': '221', 'H3': '30'}

>>> main(127762)
{'H1': '18', 'H2': '152', 'H3': '15'}

Вариант №14

Задача №8

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

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

Целое.

0 4 5 14 15 16 17 18 26 O1 O3 O4 O5

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

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

0 4 5 6 7 16 17 25 26 O1 O3 O5 O4

Тесты:

>>> main(113849683)
'0x3640053'

>>> main(76213426)
'0x6440032'

>>> main(74046015)
'0x234007f'

>>> main(68051890)
'0x6060012'

Вариант №15

Задача №8

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

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

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

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

Десятичная строка.
0 5 6 7 8 9 10 12 J1 J2 J3 J4 J5 J6

Тесты:

>>> main({'J1': 41, 'J2': 0, 'J3': 1, 'J4': 1, 'J5': 1, 'J6': 7})
'8105'

>>> main({'J1': 2, 'J2': 0, 'J3': 0, 'J4': 0, 'J5': 0, 'J6': 6})
'6146'

>>> main({'J1': 44, 'J2': 1, 'J3': 1, 'J4': 0, 'J5': 0, 'J6': 3})
'3308'

>>> main({'J1': 15, 'J2': 0, 'J3': 0, 'J4': 1, 'J5': 1, 'J6': 5})
'5903'

Вариант №16

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 3 4 10 11 14 15 23 Z1 Z2 Z3 Z4

Тесты:

>>> main([('Z1', '0x0'), ('Z2', '0x6a'), ('Z3', '0x2'), ('Z4', '0x8c')])
'0x4616a0'

>>> main([('Z1', '0x8'), ('Z2', '0x15'), ('Z3', '0xb'), ('Z4', '0x192')])
'0xc95958'

>>> main([('Z1', '0x8'), ('Z2', '0x5c'), ('Z3', '0xf'), ('Z4', '0x1dd')])
'0xeefdc8'

>>> main([('Z1', '0x8'), ('Z2', '0x63'), ('Z3', '0xe'), ('Z4', '0x41')])
'0x20f638'

Вариант №17

Задача №8

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

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

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

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

Целое.
0 1 9 10 14 15 17 18 19 25 G1 G2 G3 G4 G5

Тесты:

>>> main((0, 313, 12, 7, 0))
242290

>>> main((1, 320, 11, 5, 0))
175745

>>> main((1, 27, 0, 0, 1))
262199

>>> main((0, 21, 16, 3, 1))
376874

Вариант №18

Задача №8

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

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

Целое.

0 8 9 10 11 12 14 K1 K3 K4

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

Целое.

0 2 3 4 5 13 14 K4 K1 K3

Тесты:

>>> main(11089)
27170

>>> main(31954)
23111

>>> main(13070)
8643

>>> main(14405)
18595

Вариант №19

Задача №8

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

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

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

0 7 8 15 16 20 21 26 27 28 S1 S2 S3 S4 S5

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

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

0 7 8 15 16 17 18 22 23 28 S2 S1 S5 S3 S4

Тесты:

>>> main('0x5cf857b')
'389839749'

>>> main('0x8761028')
'31008784'

>>> main('0x17d2fbde')
'525000443'

>>> main('0x1f358b51')
'483873163'

Вариант №20

Задача №8

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

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

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

0 8 9 13 14 22 23 24 F1 F2 F3

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

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

0 4 5 13 14 22 23 24 F2 F3 F1

Тесты:

>>> main('0x5df92e')
'4959996'

>>> main('0x7686b2')
'2931523'

>>> main('0x4d46e6')
'3778211'

>>> main('0x43383d')
'1008028'

Вариант №21

Задача №8

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

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

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

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

Десятичная строка.
0 1 4 5 7 8 15 16 24 M1 M2 M3 M4 M5

Тесты:

>>> main((1, 1, 2, 88, 438))
'28727363'

>>> main((0, 7, 7, 210, 52))
'3461870'

>>> main((1, 10, 1, 190, 482))
'31637045'

>>> main((1, 15, 7, 201, 75))
'4966911'

Вариант №22

Задача №8

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

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

Десятичная строка.
0 1 4 5 10 11 20 O1 O2 O3 O4

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

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

Тесты:

>>> main('388514')
[('O1', '0'), ('O2', '1'), ('O3', '45'), ('O4', '189')]

>>> main('414021')
[('O1', '1'), ('O2', '2'), ('O3', '10'), ('O4', '202')]

>>> main('1346757')
[('O1', '1'), ('O2', '2'), ('O3', '38'), ('O4', '657')]

>>> main('442975')
[('O1', '1'), ('O2', '15'), ('O3', '18'), ('O4', '216')]

Вариант №23

Задача №8

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

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

Десятичная строка.
0 1 4 5 12 13 21 22 28 Q1 Q2 Q3 Q4 Q5

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

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

Тесты:

>>> main('178108811')
{'Q1': '1', 'Q2': '5', 'Q3': '204', 'Q4': '237', 'Q5': '42'}

>>> main('55275343')
{'Q1': '1', 'Q2': '7', 'Q3': '122', 'Q4': '91', 'Q5': '13'}

>>> main('428008293')
{'Q1': '1', 'Q2': '2', 'Q3': '27', 'Q4': '23', 'Q5': '102'}

>>> main('456511252')
{'Q1': '0', 'Q2': '10', 'Q3': '120', 'Q4': '430', 'Q5': '108'}

Вариант №24

Задача №8

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

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

Десятичная строка.
0 1 2 11 12 13 14 R1 R2 R3 R4

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

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

Тесты:

>>> main('5929')
{'R1': '0x1', 'R2': '0x1ca', 'R3': '0x1', 'R4': '0x0'}

>>> main('21834')
{'R1': '0x2', 'R2': '0x152', 'R3': '0x1', 'R4': '0x2'}

>>> main('22851')
{'R1': '0x3', 'R2': '0x250', 'R3': '0x1', 'R4': '0x2'}

>>> main('26114')
{'R1': '0x2', 'R2': '0x180', 'R3': '0x0', 'R4': '0x3'}

Вариант №25

Задача №8

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

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

Шестнадцатиричная строка.
0 9 10 13 14 16 17 20 A1 A2 A3 A4 21 24 25 31 32 41 A4 A5 A6

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

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

Тесты:

>>> main('0x14b7abd06a2')
{'A1': '0x2a2', 'A2': '0x1', 'A3': '0x4', 'A4': '0x5e', 'A5': '0x3d', 'A6': '0x14b'}

>>> main('0x26cb13075ca')
{'A1': '0x1ca', 'A2': '0xd', 'A3': '0x1', 'A4': '0x98', 'A5': '0x58', 'A6': '0x26c'}

>>> main('0x2ee0220243a')
{'A1': '0x3a', 'A2': '0x9', 'A3': '0x0', 'A4': '0x10', 'A5': '0x1', 'A6': '0x2ee'}

>>> main('0x23760d59484')
{'A1': '0x84', 'A2': '0x5', 'A3': '0x6', 'A4': '0x6a', 'A5': '0x30', 'A6': '0x237'}

Вариант №26

Задача №8

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

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

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

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

Десятичная строка.
0 2 3 12 13 16 17 19 20 27 C1 C2 C3 C4 C5

Тесты:

>>> main([('C1', '4'), ('C2', '935'), ('C3', '12'), ('C4', '5'), ('C5', '34')])
'36412732'

>>> main([('C1', '1'), ('C2', '44'), ('C3', '13'), ('C4', '6'), ('C5', '43')])
'45982049'

>>> main([('C1', '5'), ('C2', '181'), ('C3', '14'), ('C4', '5'), ('C5', '155')])
'163300781'

>>> main([('C1', '7'), ('C2', '708'), ('C3', '4'), ('C4', '2'), ('C5', '39')])
'41195047'

Вариант №27

Задача №8

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

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

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

0 6 7 12 13 21 22 23 W1 W2 W3 W4 24 27 28 36 37 46 W4 W5 W6

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

Целое.

0 8 9 18 19 23 W3 W6 W1 24 25 26 31 32 40 41 46 W1 W2 W5 W4

Тесты:

>>> main('0x64cd39ffc74c')
86669124849150

>>> main('0x30084f3bbb9f')
132512038453725

>>> main('0x34f44356c355')
29979319160502

>>> main('0x3acda1acd32a')
14133014801766

Вариант №28

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 9 10 11 14 15 24 25 29 30 T1 T2 T4 T5 T6

Тесты:

>>> main([('T1', '0x3'), ('T2', '0x1'), ('T4', '0x331'), ('T5', '0x6'), ('T6', '0x1')])
'0x4d988403'

>>> main([('T1', '0x25b'), ('T2', '0x1'), ('T4', '0xc7'), ('T5', '0xa'), ('T6', '0x0')])
'0x1463865b'

>>> main([('T1', '0x308'), ('T2', '0x0'), ('T4', '0x63'), ('T5', '0x2'), ('T6', '0x0')])
'0x4318308'

>>> main([('T1', '0x8a'), ('T2', '0x0'), ('T4', '0x3a6'), ('T5', '0x1f'), ('T6', '0x0')])
'0x3fd3008a'

Вариант №29

Задача №8

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

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

Целое.

0 4 5 14 15 18 R1 R2 R3 19 21 22 26 27 31 32 37 R3 R4 R5 R6

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

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

0 9 10 15 16 18 R2 R6 R4 19 20 21 27 28 32 33 37 R4 R3 R1 R5

Тесты:

>>> main(191250244128)
'137604477201'

>>> main(1346905767)
'87812014389'

>>> main(183989866482)
'228333365375'

>>> main(256445703125)
'194728292126'

Вариант №30

Задача №8

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

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

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

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

Десятичная строка.
0 2 3 6 7 15 16 21 T1 T2 T3 T4 22 25 26 33 34 42 T4 T5 T6

Тесты:

>>> main({'T1': '5', 'T2': '0', 'T3': '248', 'T4': '58', 'T5': '208', 'T6': '501'})
'8621076937733'

>>> main({'T1': '6', 'T2': '8', 'T3': '448', 'T4': '283', 'T5': '173', 'T6': '65'})
'1128319934534'

>>> main({'T1': '1', 'T2': '8', 'T3': '274', 'T4': '880', 'T5': '152', 'T6': '8'})
'147697207617'

>>> main({'T1': '0', 'T2': '7', 'T3': '347', 'T4': '764', 'T5': '186', 'T6': '428'})
'7365516373432'

Вариант №31

Задача №8

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

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

Десятичная строка.
0 2 3 6 7 8 9 15 16 18 19 B1 B2 B3 B4 B5 B6

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

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

Тесты:

>>> main('956263')
[('B1', 7), ('B2', 12), ('B3', 2), ('B4', 75), ('B5', 6), ('B6', 1)]

>>> main('505045')
[('B1', 5), ('B2', 10), ('B3', 1), ('B4', 90), ('B5', 7), ('B6', 0)]

>>> main('817556')
[('B1', 4), ('B2', 2), ('B3', 3), ('B4', 60), ('B5', 4), ('B6', 1)]

>>> main('753402')
[('B1', 2), ('B2', 15), ('B3', 1), ('B4', 63), ('B5', 3), ('B6', 1)]

Вариант №32

Задача №8

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

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

Десятичная строка.
0 8 9 18 19 22 E1 E2 E3 23 28 29 36 37 44 E3 E5

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

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

Тесты:

>>> main('18408676333199')
{'E1': '143', 'E2': '651', 'E3': '851', 'E5': '133'}

>>> main('31224203864905')
{'E1': '329', 'E2': '565', 'E3': '626', 'E5': '227'}

>>> main('9632530602595')
{'E1': '99', 'E2': '77', 'E3': '1010', 'E5': '70'}

>>> main('22190166678539')
{'E1': '11', 'E2': '78', 'E3': '416', 'E5': '161'}

Вариант №33

Задача №8

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

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

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

0 3 4 5 11 12 16 K1 K2 K3 K4

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

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

0 6 7 8 11 12 16 K3 K2 K1 K4

Тесты:

>>> main('0x19a11')
'102864'

>>> main('0x10b2a')
'68185'

>>> main('0xb2fb')
'48023'

>>> main('0x3e55')
'13810'

Вариант №34

Задача №8

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

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

Целое.
0 6 7 8 15 16 20 C1 C2 C3

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

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

Тесты:

>>> main(3028)
('84', '1', '11')

>>> main(27278)
('14', '1', '106')

>>> main(42210)
('98', '1', '164')

>>> main(32998)
('102', '1', '128')

Вариант №35

Задача №8

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

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

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

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

Целое.
0 1 9 10 14 15 20 21 G1 G3 G4 G5

Тесты:

>>> main((1, 18, 61, 1))
4114433

>>> main((1, 17, 16, 0))
541697

>>> main((1, 18, 35, 0))
1165313

>>> main((1, 4, 41, 0))
1347585

Вариант №36

Задача №8

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

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

Десятичная строка.
0 2 3 11 12 15 16 23 L2 L3 L4

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

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

Тесты:

>>> main('684482')
[('L2', '56'), ('L3', '7'), ('L4', '10')]

>>> main('4503308')
[('L2', '225'), ('L3', '11'), ('L4', '68')]

>>> main('10169179')
[('L2', '363'), ('L3', '2'), ('L4', '155')]

>>> main('2580190')
[('L2', '475'), ('L3', '5'), ('L4', '39')]

Вариант №37

Задача №8

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

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

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

0 1 2 3 11 12 20 N1 N2 N3 N5

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

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

0 8 9 17 18 19 20 N5 N1 N2 N3

Тесты:

>>> main('0x10e2fd')
'0x161c00'

>>> main('0x4ad39')
'0x49400'

>>> main('0xa1aff')
'0x1d4200'

>>> main('0x15dd1c')
'0x12ba00'

Вариант №38

Задача №8

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

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

Шестнадцатиричная строка.
0 5 6 8 9 16 C1 C2 C3 17 18 19 25 26 32 C3 C4 C5

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

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

Тесты:

>>> main('0x1637bbe5c')
(28, 1, 479, 111, 88)

>>> main('0x1219a6132')
(50, 4, 304, 51, 72)

>>> main('0x14c00bf7d')
(61, 5, 95, 0, 83)

>>> main('0x1b2917783')
(3, 6, 187, 82, 108)

Вариант №39

Задача №8

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

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

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

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

Целое.
0 6 7 11 12 20 21 30 Y1 Y2 Y3 Y4

Тесты:

>>> main([('Y1', '99'), ('Y2', '21'), ('Y3', '177'), ('Y4', '617')])
1294670563

>>> main([('Y1', '17'), ('Y2', '23'), ('Y3', '111'), ('Y4', '560')])
1174862737

>>> main([('Y1', '82'), ('Y2', '30'), ('Y3', '254'), ('Y4', '74')])
156233554

>>> main([('Y1', '112'), ('Y2', '21'), ('Y3', '93'), ('Y4', '177')])
371579632

Вариант №40

Задача №8

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

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

Целое.

0 9 10 18 19 22 23 24 30 E1 E2 E3 E4

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

Целое.

0 1 9 10 13 14 23 24 30 E4 E2 E3 E1

Тесты:

>>> main(15696651)
12777409

>>> main(11398548)
6625015

>>> main(7259357)
3635042

>>> main(12491510)
12427085