ИКБО-36-22

Вариант №1

Задача №8

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

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

Десятичная строка.
0 1 2 3 11 12 13 14 20 21 27 F1 F2 F3 F4 F5 F6

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

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

Тесты:

>>> main('223849464')
(0, 0, 383, 2, 94, 106)

>>> main('205800514')
(2, 0, 136, 0, 17, 98)

>>> main('158641044')
(0, 1, 370, 2, 82, 75)

>>> main('133782540')
(0, 1, 385, 1, 101, 63)

Вариант №2

Задача №8

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

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

Целое.
0 1 2 8 9 15 Y1 Y2 Y3 16 17 26 27 29 30 31 Y3 Y5 Y6

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

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

Тесты:

>>> main(2664741545)
('1', '42', '93', '3', '2')

>>> main(3371723938)
('2', '40', '54', '1', '3')

>>> main(1246049413)
('1', '33', '154', '1', '1')

>>> main(3732074879)
('3', '95', '120', '3', '3')

Вариант №3

Задача №8

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

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

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

0 8 9 10 12 13 17 18 B1 B2 B3 B4 B5

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

Целое.

0 1 3 4 5 9 10 18 B5 B3 B2 B4 B1

Тесты:

>>> main('4286')
194568

>>> main('495484')
390039

>>> main('10153')
435250

>>> main('94842')
125304

Вариант №4

Задача №8

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

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

Десятичная строка.
0 6 7 16 17 19 20 21 N2 N3 N4

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

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

Тесты:

>>> main('2726654')
[('N2', '821'), ('N3', '4'), ('N4', '2')]

>>> main('4111264')
[('N2', '375'), ('N3', '7'), ('N4', '3')]

>>> main('3060349')
[('N2', '356'), ('N3', '7'), ('N4', '2')]

>>> main('582743')
[('N2', '456'), ('N3', '4'), ('N4', '0')]

Вариант №5

Задача №8

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

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

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

0 5 6 15 16 17 21 22 30 B1 B2 B3 B4 B5

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

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

0 5 6 15 16 24 25 26 30 B1 B2 B5 B3 B4

Тесты:

>>> main('972598233')
'1894231001'

>>> main('668700841')
'916426921'

>>> main('1594368412')
'293347740'

>>> main('1388442778')
'55309466'

Вариант №6

Задача №8

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

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

Шестнадцатиричная строка.
0 9 10 16 G1 G2 17 19 20 21 22 27 28 32 G2 G3 G4

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

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

Тесты:

>>> main('0x8c9c383')
[('G1', '899'), ('G2', '624'), ('G3', '0'), ('G4', '35')]

>>> main('0xab22404')
[('G1', '4'), ('G2', '137'), ('G3', '3'), ('G4', '42')]

>>> main('0xa5a8bae')
[('G1', '942'), ('G2', '674'), ('G3', '1'), ('G4', '41')]

>>> main('0x69d2b75')
[('G1', '885'), ('G2', '842'), ('G3', '1'), ('G4', '26')]

Вариант №7

Задача №8

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

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

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

0 9 10 15 16 21 J1 J2 J3 22 31 32 39 40 42 J4 J5 J6

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

Целое.

0 5 6 11 12 21 J2 J3 J1 22 31 32 34 35 42 J4 J6 J5

Тесты:

>>> main('2171644126432')
8562555094249

>>> main('5232093829096')
6683795293701

>>> main('6348616230763')
6825360929017

>>> main('2152316176436')
8422967952034

Вариант №8

Задача №8

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

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

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

0 9 10 19 20 21 22 24 U1 U2 U3 U4 25 29 30 39 40 48 U4 U5 U6

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

Целое.

0 1 2 10 11 18 19 24 U3 U6 U4 U1 25 28 29 38 39 48 U1 U2 U5

Тесты:

>>> main('532216460737337')
27143552214929

>>> main('355657917685958')
264170657414413

>>> main('140820124106516')
42107736140291

>>> main('8519830610012')
421460894394399

Вариант №9

Задача №8

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

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

Целое.

0 6 7 12 13 21 22 28 M2 M3 M4

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

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

0 6 7 13 14 22 23 28 M4 M3 M2

Тесты:

>>> main(127740791)
'0xb3a401e'

>>> main(449285897)
'0xf0f006b'

>>> main(200550807)
'0x9e8402f'

>>> main(199271203)
'0x341402f'

Вариант №10

Задача №8

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

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

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

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

Целое.
0 9 10 11 12 13 V1 V2 V3 V4

Тесты:

>>> main([('V1', 320), ('V2', 1), ('V3', 1), ('V4', 1)])
11584

>>> main([('V1', 72), ('V2', 1), ('V3', 1), ('V4', 1)])
11336

>>> main([('V1', 639), ('V2', 0), ('V3', 3), ('V4', 1)])
14975

>>> main([('V1', 35), ('V2', 0), ('V3', 1), ('V4', 1)])
10275

Вариант №11

Задача №8

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

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

Десятичная строка.
0 9 10 11 12 17 Z2 Z3 18 25 26 35 Z4 Z5

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

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

Тесты:

>>> main('23214195084')
[('Z2', '0x0'), ('Z3', '0x8'), ('Z4', '0xeb'), ('Z5', '0x159')]

>>> main('33428636973')
[('Z2', '0x1'), ('Z3', '0x8'), ('Z4', '0x20'), ('Z5', '0x1f2')]

>>> main('25446841493')
[('Z2', '0x3'), ('Z3', '0x3f'), ('Z4', '0x2f'), ('Z5', '0x17b')]

>>> main('61263313316')
[('Z2', '0x2'), ('Z3', '0x3f'), ('Z4', '0xe4'), ('Z5', '0x390')]

Вариант №12

Задача №8

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

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

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

0 9 10 19 I1 I2 20 28 29 35 36 39 I3 I4 I5

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

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

0 9 10 19 I1 I2 20 26 27 30 31 39 I4 I5 I3

Тесты:

>>> main('761332595603')
'102418971539'

>>> main('1081504718342')
'506770775558'

>>> main('430842105269')
'557039275445'

>>> main('407743100504')
'529076975192'

Вариант №13

Задача №8

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

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

Шестнадцатиричная строка.
0 7 8 16 17 18 19 21 X1 X2 X3 X4

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

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

Тесты:

>>> main('0x5b9a4')
('164', '441', '2', '0')

>>> main('0x39735')
('53', '407', '1', '0')

>>> main('0x8b55b')
('91', '181', '0', '1')

>>> main('0x2dbfed')
('237', '447', '2', '5')

Вариант №14

Задача №8

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

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

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

0 3 4 9 10 12 13 18 I2 I3 I4

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

Целое.

0 3 4 9 10 12 13 18 I4 I3 I2

Тесты:

>>> main('0x2e513')
140656

>>> main('0x30151')
172416

>>> main('0x7062a')
280448

>>> main('0x66222')
279344

Вариант №15

Задача №8

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

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

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

0 6 7 8 9 11 12 20 B1 B3 B4 B5

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

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

0 6 7 9 10 11 19 20 B1 B4 B3 B5

Тесты:

>>> main('0xbec9c')
'389916'

>>> main('0x188c99')
'803609'

>>> main('0x18642b')
'799019'

>>> main('0x177ea2')
'768930'

Вариант №16

Задача №8

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

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

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

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

Целое.
0 1 6 7 16 17 18 24 R1 R3 R4 R5

Тесты:

>>> main([('R1', '1'), ('R3', '599'), ('R4', '0'), ('R5', '101')])
26553217

>>> main([('R1', '0'), ('R3', '366'), ('R4', '0'), ('R5', '103')])
27047680

>>> main([('R1', '1'), ('R3', '636'), ('R4', '1'), ('R5', '67')])
17776129

>>> main([('R1', '0'), ('R3', '860'), ('R4', '0'), ('R5', '50')])
13217280

Вариант №17

Задача №8

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

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

Десятичная строка.
0 5 6 7 8 16 17 X1 X2 X3 X4 18 25 26 30 31 34 X4 X5 X6

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

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

Тесты:

>>> main('25052103406')
{'X1': 46, 'X2': 3, 'X3': 194, 'X4': 156, 'X5': 21, 'X6': 11}

>>> main('23082259794')
{'X1': 18, 'X2': 1, 'X3': 341, 'X4': 487, 'X5': 23, 'X6': 10}

>>> main('8406978712')
{'X1': 24, 'X2': 2, 'X3': 80, 'X4': 140, 'X5': 29, 'X6': 3}

>>> main('27107597480')
{'X1': 40, 'X2': 2, 'X3': 284, 'X4': 478, 'X5': 19, 'X6': 12}

Вариант №18

Задача №8

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

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

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

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

Десятичная строка.
0 1 6 7 12 13 15 16 21 R1 R2 R3 R4 R5

Тесты:

>>> main({'R1': 1, 'R2': 56, 'R3': 49, 'R4': 3, 'R5': 34})
'2259185'

>>> main({'R1': 0, 'R2': 30, 'R3': 22, 'R4': 4, 'R5': 10})
'691004'

>>> main({'R1': 0, 'R2': 50, 'R3': 26, 'R4': 4, 'R5': 36})
'2395492'

>>> main({'R1': 0, 'R2': 5, 'R3': 27, 'R4': 2, 'R5': 58})
'3820938'

Вариант №19

Задача №8

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

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

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

0 1 7 8 17 18 22 O1 O2 O3 O4

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

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

0 1 10 11 17 18 22 O1 O3 O2 O4

Тесты:

>>> main('0x795bb6')
'8051382'

>>> main('0x16e08b')
'1453505'

>>> main('0x7b5dc')
'489322'

>>> main('0x4aaf3a')
'4779358'

Вариант №20

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 6 7 10 11 16 17 18 19 20 21 27 J1 J3 J4 J5 J6

Тесты:

>>> main({'J1': '0x57', 'J3': '0x27', 'J4': '0x0', 'J5': '0x2', 'J6': '0x55'})
'0xab13857'

>>> main({'J1': '0x52', 'J3': '0x29', 'J4': '0x3', 'J5': '0x1', 'J6': '0x7b'})
'0xf6f4852'

>>> main({'J1': '0x22', 'J3': '0x0', 'J4': '0x1', 'J5': '0x0', 'J6': '0x47'})
'0x8e20022'

>>> main({'J1': '0x33', 'J3': '0x36', 'J4': '0x2', 'J5': '0x0', 'J6': '0x1c'})
'0x385b033'

Вариант №21

Задача №8

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

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

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

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

Целое.
0 8 9 10 11 12 16 I1 I2 I3 I4

Тесты:

>>> main((8, 1, 2, 26))
109064

>>> main((190, 0, 1, 5))
21694

>>> main((21, 1, 1, 2))
9749

>>> main((5, 0, 2, 17))
71685

Вариант №22

Задача №8

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

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

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

0 7 8 17 18 19 M1 M2 20 23 24 31 32 39 M4 M5

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

Целое.

0 7 8 17 18 19 M4 M2 20 23 24 31 32 39 M5 M1

Тесты:

>>> main('0xf4601c8a56')
373460863584

>>> main('0x4be38746c5')
847367063267

>>> main('0x66f254c38c')
603006747634

>>> main('0xbfb5ddf3f5')
1055471563701

Вариант №23

Задача №8

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

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

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

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

Десятичная строка.
0 2 3 11 12 18 W1 W3 19 23 24 27 28 36 W4 W5 W6

Тесты:

>>> main({'W1': '3', 'W3': '9', 'W4': '12', 'W5': '2', 'W6': '67'})
'18025058307'

>>> main({'W1': '3', 'W3': '112', 'W4': '29', 'W5': '8', 'W6': '309'})
'83096436739'

>>> main({'W1': '1', 'W3': '43', 'W4': '1', 'W5': '4', 'W6': '136'})
'36575031297'

>>> main({'W1': '2', 'W3': '106', 'W4': '29', 'W5': '13', 'W6': '274'})
'73785057282'

Вариант №24

Задача №8

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

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

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

0 9 10 11 12 16 17 20 W1 W2 W3 W4

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

Целое.

0 4 5 8 9 10 11 20 W3 W4 W2 W1

Тесты:

>>> main('0xdf2da')
1495263

>>> main('0x9d8eb')
482461

>>> main('0x6de6c')
1271405

>>> main('0x6db70')
1803373

Вариант №25

Задача №8

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

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

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

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

Десятичная строка.
0 5 6 11 12 13 14 15 Z1 Z2 Z3 Z4 16 21 22 24 25 31 Z4 Z6

Тесты:

>>> main(('0x1c', '0x15', '0x2', '0xbb', '0xf'))
'506389852'

>>> main(('0x3d', '0x2c', '0x2', '0x49', '0x5'))
'168979261'

>>> main(('0x3d', '0x21', '0x1', '0xe', '0x60'))
'3221461117'

>>> main(('0x33', '0x15', '0x0', '0x1b', '0x4f'))
'2651243891'

Вариант №26

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 6 7 13 14 17 18 23 A1 A3 A4

Тесты:

>>> main({'A1': 8, 'A3': 11, 'A4': 60})
'0xf2c008'

>>> main({'A1': 59, 'A3': 3, 'A4': 37})
'0x94c03b'

>>> main({'A1': 40, 'A3': 2, 'A4': 61})
'0xf48028'

>>> main({'A1': 11, 'A3': 0, 'A4': 61})
'0xf4000b'

Вариант №27

Задача №8

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

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

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

0 9 10 11 12 16 C1 C3 17 20 21 27 28 32 C3 C4 C5

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

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

0 9 10 14 15 16 C1 C5 17 25 26 32 C3 C4

Тесты:

>>> main('0xa19bac8f')
'0x3374288f'

>>> main('0x85fef15c')
'0xbfde215c'

>>> main('0x1fc4dcc1d')
'0x189b87c1d'

>>> main('0x151d1d103')
'0x3a3a5503'

Вариант №28

Задача №8

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

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

Шестнадцатиричная строка.
0 4 5 7 8 12 13 22 N1 N3 N4

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

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

Тесты:

>>> main('0x7b22f0')
(16, 2, 985)

>>> main('0x7f6e47')
(7, 14, 1019)

>>> main('0x8db82')
(2, 27, 70)

>>> main('0x582c17')
(23, 12, 705)

Вариант №29

Задача №8

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

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

Десятичная строка.
0 5 6 8 9 15 16 H2 H3 H4 17 23 24 33 H4 H5

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

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

Тесты:

>>> main('9123898510')
[('H2', 2), ('H3', 82), ('H4', 211), ('H5', 543)]

>>> main('440934831')
[('H2', 6), ('H3', 16), ('H4', 72), ('H5', 26)]

>>> main('8285441748')
[('H2', 3), ('H3', 103), ('H4', 217), ('H5', 493)]

>>> main('9167814387')
[('H2', 3), ('H3', 95), ('H4', 113), ('H5', 546)]

Вариант №30

Задача №8

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

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

Шестнадцатиричная строка.
0 1 2 6 7 10 11 19 H1 H2 H3 20 29 30 38 H5 H6

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

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

Тесты:

>>> main('0x180c97c28c')
[('H1', 0), ('H2', 3), ('H3', 5), ('H5', 201), ('H6', 96)]

>>> main('0x7111e90477')
[('H1', 3), ('H2', 29), ('H3', 8), ('H5', 286), ('H6', 452)]

>>> main('0x1f9f6b8560')
[('H1', 0), ('H2', 24), ('H3', 10), ('H5', 502), ('H6', 126)]

>>> main('0x2131a372fd')
[('H1', 1), ('H2', 31), ('H3', 5), ('H5', 794), ('H6', 132)]

Вариант №31

Задача №8

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

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

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

0 4 5 11 12 13 14 16 17 26 J2 J3 J4 J5

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

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

0 6 7 16 17 21 22 24 25 26 J2 J5 J4 J3

Тесты:

>>> main('0x47d65d1')
'88153902'

>>> main('0x7161545')
'33670570'

>>> main('0x613405')
'117446688'

>>> main('0x49bb3ea')
'125904543'

Вариант №32

Задача №8

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

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

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

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

Десятичная строка.
0 5 6 13 14 15 16 20 T1 T2 T3 T4

Тесты:

>>> main({'T1': 24, 'T2': 95, 'T3': 1, 'T4': 15})
'1005528'

>>> main({'T1': 29, 'T2': 41, 'T3': 2, 'T4': 15})
'1018461'

>>> main({'T1': 28, 'T2': 19, 'T3': 0, 'T4': 8})
'525532'

>>> main({'T1': 3, 'T2': 25, 'T3': 0, 'T4': 30})
'1967683'

Вариант №33

Задача №8

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

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

Десятичная строка.
0 1 8 9 17 18 21 J1 J2 J3 J4

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

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

Тесты:

>>> main('3276107')
[('J1', '0x1'), ('J2', '0xa5'), ('J3', '0xfe'), ('J4', '0xc')]

>>> main('3511933')
[('J1', '0x1'), ('J2', '0x3e'), ('J3', '0xcb'), ('J4', '0xd')]

>>> main('2930798')
[('J1', '0x0'), ('J2', '0x37'), ('J3', '0x5c'), ('J4', '0xb')]

>>> main('3171728')
[('J1', '0x0'), ('J2', '0xc8'), ('J3', '0x32'), ('J4', '0xc')]

Вариант №34

Задача №8

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

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

Десятичная строка.
0 2 3 6 7 9 10 11 12 14 T1 T2 T3 T4

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

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

Тесты:

>>> main('499')
('3', '14', '3', '0')

>>> main('4049')
('1', '10', '7', '3')

>>> main('117')
('5', '14', '0', '0')

>>> main('2254')
('6', '9', '1', '2')

Вариант №35

Задача №8

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

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

Десятичная строка.
0 2 3 6 7 8 9 18 19 20 S1 S2 S3 S4 S5

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

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

Тесты:

>>> main('761119')
[('S1', '7'), ('S2', '3'), ('S3', '2'), ('S4', '462'), ('S5', '1')]

>>> main('1269992')
[('S1', '0'), ('S2', '13'), ('S3', '1'), ('S4', '432'), ('S5', '2')]

>>> main('1827694')
[('S1', '6'), ('S2', '13'), ('S3', '2'), ('S4', '497'), ('S5', '3')]

>>> main('1445930')
[('S1', '2'), ('S2', '5'), ('S3', '0'), ('S4', '776'), ('S5', '2')]

Вариант №36

Задача №8

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

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

Десятичная строка.
0 1 2 9 10 19 G1 G2 20 27 28 36 37 38 G4 G5 G6

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

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

Тесты:

>>> main('279376477013')
('0x1', '0xd5', '0xc2', '0x10', '0x2')

>>> main('436935407098')
('0x2', '0x7e', '0xb6', '0x5b', '0x3')

>>> main('469708923026')
('0x2', '0x24', '0xcd', '0xd5', '0x3')

>>> main('318496544936')
('0x0', '0x2a', '0x7d', '0xa2', '0x2')

Вариант №37

Задача №8

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

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

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

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

Целое.
0 7 8 12 13 14 15 17 I1 I2 I3 I4 I5

Тесты:

>>> main(('0x38', '0xc', '0x1', '0x1', '0x2'))
93240

>>> main(('0x98', '0x1d', '0x0', '0x0', '0x2'))
73112

>>> main(('0x40', '0x14', '0x1', '0x1', '0x0'))
29760

>>> main(('0xae', '0x4', '0x0', '0x0', '0x5'))
165038

Вариант №38

Задача №8

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

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

Шестнадцатиричная строка.
0 1 2 5 6 11 12 17 18 19 20 H1 H2 H3 H4 H5 H6

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

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

Тесты:

>>> main('0x45982')
(2, 0, 38, 5, 1, 0)

>>> main('0x158551')
(1, 4, 21, 24, 1, 2)

>>> main('0x1fe8eb')
(3, 10, 35, 62, 1, 3)

>>> main('0x17aa65')
(1, 9, 41, 58, 1, 2)

Вариант №39

Задача №8

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

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

Десятичная строка.
0 5 6 14 15 20 21 26 J1 J2 J3 J4

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

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

Тесты:

>>> main('1208674')
('0x22', '0x1c5', '0x24', '0x0')

>>> main('132532420')
('0x4', '0x123', '0xc', '0x3f')

>>> main('112493567')
('0x3f', '0xf', '0x29', '0x35')

>>> main('64154189')
('0xd', '0x1a9', '0x25', '0x1e')

Вариант №40

Задача №8

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

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

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

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

Десятичная строка.
0 1 2 3 4 12 13 18 19 27 H1 H2 H4 H5

Тесты:

>>> main((1, 2, 63, 1))
'1040393'

>>> main((0, 1, 29, 484))
'253992964'

>>> main((3, 2, 44, 477))
'250445835'

>>> main((1, 0, 56, 404))
'212271105'