ИКБО-12-22

Вариант №1

Задача №8

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

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

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

0 7 8 11 12 14 15 24 L1 L2 L3

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

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

0 9 10 17 18 20 21 24 L1 L3 L2

Тесты:

>>> main('6084')
'0xe71000'

>>> main('19153')
'0x1534400'

>>> main('2444')
'0x1223000'

>>> main('20833')
'0x358400'

Вариант №2

Задача №8

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

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

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

0 1 2 3 6 7 13 14 22 J2 J3 J4 J5

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

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

0 6 7 8 9 12 13 21 22 J4 J2 J3 J5

Тесты:

>>> main('0x4d37a3')
'0x2688ef'

>>> main('0x1b9e04')
'0xdc13c'

>>> main('0x264af2')
'0x133c95'

>>> main('0x73ed56')
'0x39f5da'

Вариант №3

Задача №8

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

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

Шестнадцатиричная строка.
0 4 5 13 14 16 17 20 T1 T2 T3 T4

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

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

Тесты:

>>> main('0xe68d7')
[('T1', 23), ('T2', 326), ('T3', 1), ('T4', 7)]

>>> main('0x12c5e8')
[('T1', 8), ('T2', 47), ('T3', 3), ('T4', 9)]

>>> main('0x1d68df')
[('T1', 31), ('T2', 326), ('T3', 5), ('T4', 14)]

>>> main('0x13af96')
[('T1', 22), ('T2', 380), ('T3', 6), ('T4', 9)]

Вариант №4

Задача №8

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

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

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

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

Десятичная строка.
0 4 5 11 12 15 I1 I2 I3 16 19 20 28 29 31 I3 I4 I5

Тесты:

>>> main(('23', '4', '42', '459', '5'))
'3165823127'

>>> main(('9', '109', '99', '289', '6'))
'3524672937'

>>> main(('16', '123', '125', '27', '0'))
'28827504'

>>> main(('14', '38', '110', '421', '0'))
'441902286'

Вариант №5

Задача №8

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

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

Целое.
0 3 4 8 9 14 15 21 H1 H2 H3 H4

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

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

Тесты:

>>> main(1920752)
[('H1', '0x0'), ('H2', '0xf'), ('H3', '0x27'), ('H4', '0x3a')]

>>> main(4175095)
[('H1', '0x7'), ('H2', '0xf'), ('H3', '0x1a'), ('H4', '0x7f')]

>>> main(88017)
[('H1', '0x1'), ('H2', '0x1d'), ('H3', '0x2b'), ('H4', '0x2')]

>>> main(1524675)
[('H1', '0x3'), ('H2', '0x1c'), ('H3', '0x21'), ('H4', '0x2e')]

Вариант №6

Задача №8

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

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

Шестнадцатиричная строка.
0 8 9 16 17 18 19 24 P1 P2 P3 P4

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

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

Тесты:

>>> main('0x89eaee')
('0xee', '0xf5', '0x0', '0x11')

>>> main('0x487da6')
('0x1a6', '0x3e', '0x0', '0x9')

>>> main('0x149e12b')
('0x12b', '0xf0', '0x0', '0x29')

>>> main('0x1c7a222')
('0x22', '0xd1', '0x3', '0x38')

Вариант №7

Задача №8

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

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

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

0 3 4 5 6 12 13 20 21 22 O1 O2 O3 O4 O5

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

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

0 6 7 8 9 10 11 18 19 22 O3 O5 O2 O4 O1

Тесты:

>>> main('817860')
'2300011'

>>> main('6122102')
'3628841'

>>> main('2464334')
'7430377'

>>> main('5994358')
'3596125'

Вариант №8

Задача №8

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

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

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

0 4 5 10 11 20 21 30 G2 G3 G4

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

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

0 4 5 14 15 20 21 30 G4 G2 G3

Тесты:

>>> main('1990212751')
'0xf276a0'

>>> main('378838942')
'0x527e1680'

>>> main('451503717')
'0x25999ae0'

>>> main('1573129590')
'0x1035ddc0'

Вариант №9

Задача №8

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

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

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

0 5 6 7 8 16 17 19 20 24 R1 R2 R3 R4 R5

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

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

0 5 6 7 8 12 13 15 16 24 R1 R2 R5 R4 R3

Тесты:

>>> main('887406')
'0x18ac06e'

>>> main('6940992')
'0x1e98640'

>>> main('4093420')
'0x75e3ec'

>>> main('26662207')
'0xd5793f'

Вариант №10

Задача №8

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

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

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

0 3 4 5 6 13 14 18 J1 J2 J4 19 23 24 28 29 36 J4 J5 J6

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

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

0 1 2 6 7 14 15 18 J2 J5 J1 19 28 29 36 J4 J6

Тесты:

>>> main('41575353713')
'0x9a2b0803b'

>>> main('13925621843')
'0x321018079'

>>> main('8109094134')
'0x1eadb000f'

>>> main('9195563946')
'0x223250012'

Вариант №11

Задача №8

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

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

Целое.
0 6 7 8 11 12 16 K1 K2 K4 17 18 19 23 24 32 K4 K5 K6

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

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

Тесты:

>>> main(4577373625)
('0x39', '0x1', '0x52', '0x1a', '0x110')

>>> main(507332416)
('0x40', '0x0', '0x54', '0x7', '0x1e')

>>> main(8046388918)
('0x36', '0x1', '0x22', '0x13', '0x1df')

>>> main(6604966192)
('0x30', '0x0', '0x7c', '0x15', '0x189')

Вариант №12

Задача №8

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

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

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

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

Целое.
0 8 9 13 14 21 22 23 24 25 26 W1 W2 W3 W4 W6

Тесты:

>>> main([('W1', 146), ('W2', 28), ('W3', 152), ('W4', 0), ('W6', 0)])
2504850

>>> main([('W1', 267), ('W2', 10), ('W3', 67), ('W4', 0), ('W6', 1)])
68211979

>>> main([('W1', 32), ('W2', 5), ('W3', 13), ('W4', 1), ('W6', 1)])
71518752

>>> main([('W1', 368), ('W2', 30), ('W3', 158), ('W4', 1), ('W6', 1)])
73907568

Вариант №13

Задача №8

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

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

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

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

Целое.
0 6 7 16 O2 17 24 25 32 O3 O4

Тесты:

>>> main([('O2', '0x1ee'), ('O3', '0x52'), ('O4', '0xb3')])
6017054464

>>> main([('O2', '0x1f2'), ('O3', '0x67'), ('O4', '0x42')])
2228156672

>>> main([('O2', '0x394'), ('O3', '0xa5'), ('O4', '0x22')])
1162594816

>>> main([('O2', '0x315'), ('O3', '0xdf'), ('O4', '0x38')])
1908378240

Вариант №14

Задача №8

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

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

Шестнадцатиричная строка.
0 7 8 13 14 21 22 24 25 26 E1 E2 E3 E4

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

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

Тесты:

>>> main('0x904ce8')
{'E1': '232', 'E2': '12', 'E3': '65', 'E4': '2'}

>>> main('0xa793ae')
{'E1': '174', 'E2': '19', 'E3': '158', 'E4': '2'}

>>> main('0x1a2d19a')
{'E1': '154', 'E2': '17', 'E3': '139', 'E4': '6'}

>>> main('0x53c946')
{'E1': '70', 'E2': '9', 'E3': '79', 'E4': '1'}

Вариант №15

Задача №8

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

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

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

0 1 3 4 9 10 19 20 21 M1 M2 M3 M4 M5

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

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

0 1 2 3 12 13 18 19 21 M1 M5 M4 M3 M2

Тесты:

>>> main('2447175')
'0x1e8aad'

>>> main('1833748')
'0x1637f2'

>>> main('3968600')
'0x24b91e'

>>> main('39337')
'0x234131'

Вариант №16

Задача №8

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

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

Десятичная строка.
0 9 10 17 18 21 22 25 26 29 V1 V2 V3 V4

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

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

Тесты:

>>> main('50961117')
('0x2dd', '0x66', '0x2', '0xc')

>>> main('13025996')
('0x2cc', '0xb0', '0x1', '0x3')

>>> main('1323040')
('0x20', '0xc', '0x5', '0x0')

>>> main('21769681')
('0x1d1', '0xb', '0x3', '0x5')

Вариант №17

Задача №8

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

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

Десятичная строка.
0 6 7 15 H1 H2 16 17 19 20 23 24 29 30 31 H2 H4 H5 H6

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

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

Тесты:

>>> main('55420908')
{'H1': 108, 'H2': 847, 'H4': 4, 'H5': 3, 'H6': 0}

>>> main('1079321733')
{'H1': 5, 'H2': 585, 'H4': 5, 'H5': 0, 'H6': 1}

>>> main('1813589250')
{'H1': 2, 'H2': 602, 'H4': 1, 'H5': 44, 'H6': 1}

>>> main('599794264')
{'H1': 88, 'H2': 68, 'H4': 12, 'H5': 35, 'H6': 0}

Вариант №18

Задача №8

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

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

Шестнадцатиричная строка.
0 1 5 6 11 12 13 19 20 24 S1 S2 S3 S4 S5 S6

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

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

Тесты:

>>> main('0x36178')
('0x0', '0x1c', '0x5', '0x0', '0x1b', '0x0')

>>> main('0xe2fd1')
('0x1', '0x8', '0x3f', '0x0', '0x71', '0x0')

>>> main('0x6ff893')
('0x1', '0x9', '0x22', '0x1', '0x7f', '0x6')

>>> main('0x14f3790')
('0x0', '0x8', '0x1e', '0x1', '0x79', '0x14')

Вариант №19

Задача №8

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

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

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

0 4 5 9 10 15 16 19 M1 M2 M3

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

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

0 4 5 10 11 14 15 19 M1 M3 M2

Тесты:

>>> main('0xbdcd')
'460269'

>>> main('0x81cb')
'459787'

>>> main('0x311f')
'262559'

>>> main('0x8354')
'853012'

Вариант №20

Задача №8

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

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

Целое.
0 9 10 16 17 18 19 23 Q1 Q2 Q3 Q4

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

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

Тесты:

>>> main(10316020)
[('Q1', '0xf4'), ('Q2', '0x5a'), ('Q3', '0x2'), ('Q4', '0x13')]

>>> main(62766)
[('Q1', '0x12e'), ('Q2', '0x3d'), ('Q3', '0x0'), ('Q4', '0x0')]

>>> main(4972243)
[('Q1', '0x2d3'), ('Q2', '0x77'), ('Q3', '0x1'), ('Q4', '0x9')]

>>> main(15159327)
[('Q1', '0x1f'), ('Q2', '0x54'), ('Q3', '0x3'), ('Q4', '0x1c')]

Вариант №21

Задача №8

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

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

Десятичная строка.
0 4 5 6 7 13 14 17 18 20 21 26 J1 J2 J3 J5 J6

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

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

Тесты:

>>> main('55517329')
{'J1': 17, 'J2': 0, 'J3': 65, 'J5': 3, 'J6': 26}

>>> main('73313578')
{'J1': 10, 'J2': 1, 'J3': 90, 'J5': 7, 'J6': 34}

>>> main('38734235')
{'J1': 27, 'J2': 0, 'J3': 19, 'J5': 3, 'J6': 18}

>>> main('111417426')
{'J1': 18, 'J2': 2, 'J3': 48, 'J5': 1, 'J6': 53}

Вариант №22

Задача №8

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

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

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

0 5 6 10 11 14 15 16 E2 E3 E4

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

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

0 3 4 8 9 10 11 16 E3 E2 E4

Тесты:

>>> main('127962')
'0x6fe'

>>> main('24141')
'0x19b'

>>> main('35839')
'0x2f1'

>>> main('45038')
'0x3f5'

Вариант №23

Задача №8

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

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

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

0 7 8 9 10 14 15 23 Q1 Q2 Q3 Q4

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

Целое.

0 7 8 16 17 21 22 23 Q1 Q4 Q3 Q2

Тесты:

>>> main('14526715')
1424379

>>> main('16222003')
12840755

>>> main('8660154')
1247418

>>> main('2306152')
1590888

Вариант №24

Задача №8

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

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

Десятичная строка.
0 3 4 8 9 14 15 16 17 18 20 V1 V2 V3 V4 V6

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

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

Тесты:

>>> main('763067')
[('V1', '11'), ('V2', '11'), ('V3', '18'), ('V4', '3'), ('V6', '2')]

>>> main('611846')
[('V1', '6'), ('V2', '0'), ('V3', '43'), ('V4', '2'), ('V6', '2')]

>>> main('1771064')
[('V1', '8'), ('V2', '3'), ('V3', '3'), ('V4', '2'), ('V6', '6')]

>>> main('1715110')
[('V1', '6'), ('V2', '26'), ('V3', '21'), ('V4', '0'), ('V6', '6')]

Вариант №25

Задача №8

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

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

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

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

Целое.
0 1 2 3 4 12 13 19 N1 N2 N3 N4

Тесты:

>>> main({'N1': '0', 'N2': '1', 'N3': '140', 'N4': '106'})
870596

>>> main({'N1': '2', 'N2': '2', 'N3': '426', 'N4': '11'})
96938

>>> main({'N1': '1', 'N2': '2', 'N3': '316', 'N4': '3'})
29641

>>> main({'N1': '1', 'N2': '0', 'N3': '384', 'N4': '100'})
825345

Вариант №26

Задача №8

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

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

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

0 9 10 14 15 K2 K3 16 17 18 26 27 28 31 K3 K4 K5 K6

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

Целое.

0 8 9 11 12 15 K4 K3 K2 16 17 20 21 22 31 K2 K6 K5

Тесты:

>>> main('0x19152018')
2262085

>>> main('0xe1dc842c')
1839735

>>> main('0x84314c6')
2120720

>>> main('0x1c81e82b')
2336544

Вариант №27

Задача №8

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

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

Десятичная строка.
0 1 2 3 11 12 20 21 28 H1 H2 H3 H4 H5

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

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

Тесты:

>>> main('46550581')
[('H1', 1), ('H2', 1), ('H3', 454), ('H4', 100), ('H5', 22)]

>>> main('100224780')
[('H1', 0), ('H2', 1), ('H3', 481), ('H4', 404), ('H5', 47)]

>>> main('391320259')
[('H1', 3), ('H2', 0), ('H3', 88), ('H4', 305), ('H5', 186)]

>>> main('362821419')
[('H1', 3), ('H2', 0), ('H3', 229), ('H4', 3), ('H5', 173)]

Вариант №28

Задача №8

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

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

Шестнадцатиричная строка.
0 7 8 16 K1 K2 17 18 27 28 30 31 32 K2 K3 K4

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

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

Тесты:

>>> main('0x120717f4')
('244', '791', '129', '1')

>>> main('0x30e3be7b')
('123', '958', '56', '3')

>>> main('0x1189ce0b')
('11', '462', '98', '1')

>>> main('0x58954c63')
('99', '332', '549', '5')

Вариант №29

Задача №8

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

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

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

0 1 9 10 11 19 20 24 D1 D2 D3 D4 D5

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

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

0 1 9 10 14 15 16 24 D1 D4 D5 D3 D2

Тесты:

>>> main('24336605')
'0x6e5cd7'

>>> main('21380855')
'0x17bd18f'

>>> main('28291432')
'0xb46bec'

>>> main('13741733')
'0x152b46b'

Вариант №30

Задача №8

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

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

Десятичная строка.
0 5 6 7 8 10 11 15 16 19 20 27 F1 F3 F4 F5 F6

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

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

Тесты:

>>> main('230425862')
{'F1': '6', 'F3': '5', 'F4': '0', 'F5': '12', 'F6': '219'}

>>> main('112354886')
{'F1': '6', 'F3': '6', 'F4': '12', 'F5': '2', 'F6': '107'}

>>> main('218323826')
{'F1': '50', 'F3': '3', 'F4': '11', 'F5': '3', 'F6': '208'}

>>> main('33610312')
{'F1': '8', 'F3': '2', 'F4': '27', 'F5': '0', 'F6': '32'}

Вариант №31

Задача №8

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

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

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

0 6 7 8 12 13 17 Q1 Q2 Q3 Q4

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

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

0 4 5 11 12 16 17 Q3 Q1 Q4 Q2

Тесты:

>>> main('0x3b3b6')
'251603'

>>> main('0x209c0')
'198665'

>>> main('0x94cd')
'149940'

>>> main('0x3108e')
'229840'

Вариант №32

Задача №8

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

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

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

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

Целое.
0 9 10 16 F1 17 18 20 21 27 28 33 F3 F4 F5

Тесты:

>>> main([('F1', 105), ('F3', 7), ('F4', 5), ('F5', 49)])
13165658217

>>> main([('F1', 229), ('F3', 3), ('F4', 8), ('F5', 49)])
13170901221

>>> main([('F1', 431), ('F3', 6), ('F4', 23), ('F5', 57)])
15350628783

>>> main([('F1', 861), ('F3', 3), ('F4', 24), ('F5', 42)])
11325408093

Вариант №33

Задача №8

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

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

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

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

Десятичная строка.
0 5 6 10 11 15 G1 G2 G3 16 19 20 24 25 31 G3 G4 G5

Тесты:

>>> main({'G1': '0x16', 'G2': '0x19', 'G3': '0xf8', 'G4': '0x19', 'G5': '0x2a'})
'1436010070'

>>> main({'G1': '0x2c', 'G2': '0xb', 'G3': '0x13f', 'G4': '0x1e', 'G5': '0x28'})
'1374288620'

>>> main({'G1': '0x24', 'G2': '0x1b', 'G3': '0x8d', 'G4': '0x11', 'G5': '0x69'})
'3541331684'

>>> main({'G1': '0x4', 'G2': '0x16', 'G3': '0x1fe', 'G4': '0xe', 'G5': '0x5b'})
'3069179268'

Вариант №34

Задача №8

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

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

Целое.
0 5 6 14 15 18 19 27 Z1 Z3 Z4

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

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

Тесты:

>>> main(242910746)
('26', '5', '463')

>>> main(89155291)
('27', '0', '170')

>>> main(74207296)
('0', '8', '141')

>>> main(34811731)
('19', '6', '66')

Вариант №35

Задача №8

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

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

Шестнадцатиричная строка.
0 3 4 8 9 17 H1 H2 H3 18 19 27 28 35 H3 H5

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

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

Тесты:

>>> main('0x7723e285d')
('13', '5', '788', '119')

>>> main('0x39f7a6faa')
('10', '26', '311', '57')

>>> main('0x76265b9fa')
('10', '31', '732', '118')

>>> main('0xa331280af')
('15', '10', '320', '163')

Вариант №36

Задача №8

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

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

Шестнадцатиричная строка.
0 6 7 8 9 10 11 17 18 J1 J2 J3 J4 J5

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

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

Тесты:

>>> main('0x711b8')
{'J1': '0x38', 'J2': '0x3', 'J3': '0x0', 'J4': '0x62', 'J5': '0x1'}

>>> main('0x4420a')
{'J1': '0xa', 'J2': '0x0', 'J3': '0x1', 'J4': '0x8', 'J5': '0x1'}

>>> main('0x16c96')
{'J1': '0x16', 'J2': '0x1', 'J3': '0x2', 'J4': '0x2d', 'J5': '0x0'}

>>> main('0x289e9')
{'J1': '0x69', 'J2': '0x3', 'J3': '0x0', 'J4': '0x51', 'J5': '0x0'}

Вариант №37

Задача №8

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

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

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

0 5 6 15 16 17 18 19 20 26 S1 S2 S3 S4 S5 S6

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

Целое.

0 1 2 3 8 9 18 19 25 26 S4 S3 S1 S2 S6 S5

Тесты:

>>> main('12126206')
72892402

>>> main('12998305')
6468877

>>> main('133170626')
66596368

>>> main('78913879')
39389881

Вариант №38

Задача №8

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

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

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

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

Целое.
0 8 9 17 18 F1 F3 19 20 29 30 36 F3 F4 F5

Тесты:

>>> main({'F1': 79, 'F3': 2, 'F4': 0, 'F5': 113})
121333350479

>>> main({'F1': 233, 'F3': 1, 'F4': 595, 'F5': 39})
42500096233

>>> main({'F1': 284, 'F3': 0, 'F4': 323, 'F5': 96})
103417905436

>>> main({'F1': 165, 'F3': 0, 'F4': 868, 'F5': 78})
84662026405

Вариант №39

Задача №8

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

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

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

0 2 3 4 5 8 9 16 17 21 22 27 K1 K2 K3 K4 K5 K6

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

Целое.

0 5 6 9 10 12 13 17 18 25 26 27 K6 K3 K1 K5 K4 K2

Тесты:

>>> main('0x9a08e18')
220069926

>>> main('0x2950a76')
169171146

>>> main('0x65488bf')
219241817

>>> main('0x33f0d2')
199436672

Вариант №40

Задача №8

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

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

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

0 1 2 3 4 5 14 K1 K2 K4

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

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

0 1 2 3 4 5 14 K2 K1 K4

Тесты:

>>> main('0x73fa')
'0x73ea'

>>> main('0x87e')
'0x86b'

>>> main('0x778f')
'0x778f'

>>> main('0x593d')
'0x5927'