ИКБО-22-22

Вариант №1

Задача №8

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

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

Целое.

0 8 9 12 13 14 Y1 Y2 Y3 Y4

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

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

0 3 4 5 6 14 Y2 Y4 Y3 Y1

Тесты:

>>> main(15592)
'0x3a2e'

>>> main(27497)
'0x5a75'

>>> main(6696)
'0xa0d'

>>> main(32585)
'0x527f'

Вариант №2

Задача №8

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

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

Целое.
0 1 7 8 14 15 16 25 26 27 S1 S2 S3 S4 S5 S6

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

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

Тесты:

>>> main(242997210)
[('S1', '0x0'), ('S2', '0x6d'), ('S3', '0x57'), ('S4', '0x1'), ('S5', '0x27b'), ('S6', '0x3')]

>>> main(103487589)
[('S1', '0x1'), ('S2', '0x32'), ('S3', '0x18'), ('S4', '0x0'), ('S5', '0x22b'), ('S6', '0x1')]

>>> main(72770450)
[('S1', '0x0'), ('S2', '0x49'), ('S3', '0x63'), ('S4', '0x0'), ('S5', '0x56'), ('S6', '0x1')]

>>> main(91556343)
[('S1', '0x1'), ('S2', '0x7b'), ('S3', '0x9'), ('S4', '0x0'), ('S5', '0x175'), ('S6', '0x1')]

Вариант №3

Задача №8

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

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

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

0 7 8 15 16 20 21 22 29 30 X2 X3 X4 X5 X6

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

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

0 7 8 15 16 17 24 25 26 30 X2 X4 X5 X6 X3

Тесты:

>>> main('1447027399')
'0x7eb1e200'

>>> main('1555173433')
'0x4ae51000'

>>> main('2003161761')
'0x17bbd200'

>>> main('921164273')
'0x1db7d900'

Вариант №4

Задача №8

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

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

Целое.
0 4 5 12 13 14 15 23 P1 P2 P3 P4

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

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

Тесты:

>>> main(2598073)
('25', '37', '1', '79')

>>> main(14831002)
('26', '108', '2', '452')

>>> main(15418755)
('3', '44', '2', '470')

>>> main(810278)
('6', '233', '2', '24')

Вариант №5

Задача №8

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

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

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

0 4 5 7 8 9 10 18 X1 X2 X3 X4

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

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

0 1 2 6 7 15 16 18 X3 X1 X4 X2

Тесты:

>>> main('212158')
'354296'

>>> main('171544')
'21474'

>>> main('74514')
'9291'

>>> main('341820')
'108275'

Вариант №6

Задача №8

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

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

Целое.
0 9 10 13 14 15 18 19 20 H2 H3 H4 H5

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

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

Тесты:

>>> main(786311)
(15, 1, 7, 1)

>>> main(696487)
(8, 0, 5, 1)

>>> main(1579922)
(6, 0, 0, 3)

>>> main(1253057)
(7, 0, 6, 2)

Вариант №7

Задача №8

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

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

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

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

Целое.
0 5 6 9 10 16 Y1 Y2 17 18 19 27 28 30 31 33 Y4 Y5 Y6

Тесты:

>>> main({'Y1': 21, 'Y2': 6, 'Y4': 15, 'Y5': 4, 'Y6': 7})
16113992085

>>> main({'Y1': 26, 'Y2': 14, 'Y4': 122, 'Y5': 3, 'Y6': 4})
9459205018

>>> main({'Y1': 18, 'Y2': 8, 'Y4': 391, 'Y5': 2, 'Y6': 2})
5036835346

>>> main({'Y1': 39, 'Y2': 0, 'Y4': 209, 'Y5': 0, 'Y6': 6})
12994478119

Вариант №8

Задача №8

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

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

Целое.
0 6 7 16 17 19 Y1 Y2 Y3 20 21 30 31 36 37 39 Y3 Y5 Y6

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

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

Тесты:

>>> main(181804137186)
(98, 501, 15, 20, 1)

>>> main(500417653383)
(7, 725, 11, 41, 3)

>>> main(438193721835)
(107, 803, 0, 12, 3)

>>> main(560935288541)
(93, 637, 12, 5, 4)

Вариант №9

Задача №8

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

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

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

0 2 3 4 5 8 9 12 13 16 G1 G2 G3 G5

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

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

0 2 3 6 7 10 11 14 15 16 G1 G5 G3 G2

Тесты:

>>> main('0x1ddd3')
'94323'

>>> main('0x1065e')
'102470'

>>> main('0x1b71')
'88065'

>>> main('0x1bdfc')
'129132'

Вариант №10

Задача №8

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

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

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

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

Целое.
0 5 6 8 9 12 13 15 16 25 U1 U3 U4 U5

Тесты:

>>> main((9, 3, 2, 225))
14763529

>>> main((57, 10, 0, 646))
42341433

>>> main((33, 9, 3, 860))
56390177

>>> main((24, 6, 1, 796))
52177944

Вариант №11

Задача №8

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

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

Целое.

0 9 10 12 13 15 16 25 I1 I2 I3 I4

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

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

0 9 10 19 20 22 23 25 I1 I4 I3 I2

Тесты:

>>> main(54560664)
'0xcd0398'

>>> main(50967293)
'0x25c26fd'

>>> main(49244206)
'0x13bbc2e'

>>> main(60408818)
'0x6e67f2'

Вариант №12

Задача №8

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

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

Целое.

0 7 8 9 10 19 20 26 27 30 M1 M2 M3 M4 M5 M6

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

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

0 9 10 11 14 15 16 23 24 30 M4 M2 M6 M3 M1 M5

Тесты:

>>> main(937030124)
'2112632444'

>>> main(911473320)
'1705554174'

>>> main(1022333326)
'1317945316'

>>> main(389881587)
'1945342791'

Вариант №13

Задача №8

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

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

Шестнадцатиричная строка.
0 7 8 14 15 20 21 24 P1 P3 P4

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

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

Тесты:

>>> main('0x10d42d')
[('P1', 45), ('P3', 33), ('P4', 0)]

>>> main('0x1691184')
[('P1', 132), ('P3', 18), ('P4', 11)]

>>> main('0x18622aa')
[('P1', 170), ('P3', 12), ('P4', 12)]

>>> main('0xa6db53')
[('P1', 83), ('P3', 13), ('P4', 5)]

Вариант №14

Задача №8

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

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

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

0 3 4 11 12 16 17 18 19 H2 H3 H4 H5

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

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

0 4 5 12 13 16 17 18 19 H3 H2 H4 H5

Тесты:

>>> main('0x4b104')
'0x4020b'

>>> main('0x34c03')
'0x21814'

>>> main('0xc3863')
'0xc10c3'

>>> main('0xecf0d')
'0xe1e0c'

Вариант №15

Задача №8

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

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

Целое.

0 9 10 19 20 27 28 30 I1 I2 I3 I4

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

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

0 9 10 17 18 20 21 30 I1 I3 I4 I2

Тесты:

>>> main(2054296031)
'278830559'

>>> main(92129028)
'1847680772'

>>> main(1122788540)
'1664137404'

>>> main(733407142)
'925560742'

Вариант №16

Задача №8

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

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

Целое.

0 4 5 7 8 13 14 21 22 26 O1 O2 O3 O5

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

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

0 2 3 7 8 12 13 20 21 26 O2 O5 O1 O3

Тесты:

>>> main(131301466)
'0x1afa'

>>> main(104496836)
'0x7c004c6'

>>> main(67830905)
'0x801983'

>>> main(77783491)
'0x4200396'

Вариант №17

Задача №8

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

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

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

0 7 8 15 16 17 20 21 26 K1 K2 K3 K4 K5

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

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

0 7 8 9 16 17 22 23 26 K1 K3 K2 K5 K4

Тесты:

>>> main('0x69c7d25')
'124320293'

>>> main('0x74b425d')
'49579357'

>>> main('0x1d1ab5b')
'69031771'

>>> main('0x4498296')
'38077846'

Вариант №18

Задача №8

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

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

Целое.
0 1 9 10 16 R1 R3 17 19 20 25 26 30 31 33 R3 R4 R5 R6

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

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

Тесты:

>>> main(6965440940)
{'R1': '0x0', 'R3': '0x30c', 'R4': '0x32', 'R5': '0x7', 'R6': '0x3'}

>>> main(7079699630)
{'R1': '0x0', 'R3': '0x2e9', 'R4': '0x1f', 'R5': '0x9', 'R6': '0x3'}

>>> main(4007584909)
{'R1': '0x1', 'R3': '0x3b9', 'R4': '0x2d', 'R5': '0x1b', 'R6': '0x1'}

>>> main(16214059085)
{'R1': '0x1', 'R3': '0x3ba', 'R4': '0x26', 'R5': '0x11', 'R6': '0x7'}

Вариант №19

Задача №8

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

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

Шестнадцатиричная строка.
0 5 6 12 13 14 18 19 28 29 30 L1 L2 L3 L4 L5 L6

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

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

Тесты:

>>> main('0x11f31696')
{'L1': 22, 'L2': 90, 'L3': 0, 'L4': 12, 'L5': 574, 'L6': 0}

>>> main('0x254d7eb')
{'L1': 43, 'L2': 95, 'L3': 0, 'L4': 19, 'L5': 74, 'L6': 0}

>>> main('0x1d0f6b4')
{'L1': 52, 'L2': 90, 'L3': 1, 'L4': 3, 'L5': 58, 'L6': 0}

>>> main('0x2ca42e78')
{'L1': 56, 'L2': 57, 'L3': 1, 'L4': 16, 'L5': 404, 'L6': 1}

Вариант №20

Задача №8

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

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

Шестнадцатиричная строка.
0 4 5 7 8 12 13 22 V1 V2 V3

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

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

Тесты:

>>> main('0x17e3')
[('V1', '3'), ('V2', '7'), ('V3', '23')]

>>> main('0xc35')
[('V1', '21'), ('V2', '1'), ('V3', '12')]

>>> main('0xc5c')
[('V1', '28'), ('V2', '2'), ('V3', '12')]

>>> main('0xd01')
[('V1', '1'), ('V2', '0'), ('V3', '13')]

Вариант №21

Задача №8

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

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

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

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

Целое.
0 3 4 12 13 17 18 20 21 29 C1 C2 C3 C5

Тесты:

>>> main(('1', '410', '17', '494'))
1036138913

>>> main(('7', '7', '14', '491'))
1029816439

>>> main(('8', '447', '10', '278'))
583097336

>>> main(('11', '265', '26', '488'))
1023627419

Вариант №22

Задача №8

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

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

Целое.
0 3 4 7 8 14 15 20 21 24 25 J1 J2 J3 J4 J5 J6

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

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

Тесты:

>>> main(9991301)
{'J1': '0x5', 'J2': '0x8', 'J3': '0x74', 'J4': '0x30', 'J5': '0x4', 'J6': '0x0'}

>>> main(24133967)
{'J1': '0xf', 'J2': '0x4', 'J3': '0x41', 'J4': '0x20', 'J5': '0xb', 'J6': '0x0'}

>>> main(43902138)
{'J1': '0xa', 'J2': '0xb', 'J3': '0x64', 'J4': '0x3b', 'J5': '0x4', 'J6': '0x1'}

>>> main(40001565)
{'J1': '0xd', 'J2': '0x1', 'J3': '0x60', 'J4': '0x4', 'J5': '0x3', 'J6': '0x1'}

Вариант №23

Задача №8

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

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

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

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

Десятичная строка.
0 5 6 9 10 14 15 21 22 24 25 C1 C2 C4 C5 C6

Тесты:

>>> main([('C1', '6'), ('C2', '3'), ('C4', '13'), ('C5', '6'), ('C6', '1')])
'59146438'

>>> main([('C1', '4'), ('C2', '7'), ('C4', '51'), ('C5', '4'), ('C6', '1')])
'52003268'

>>> main([('C1', '43'), ('C2', '5'), ('C4', '65'), ('C5', '7'), ('C6', '1')])
'65044843'

>>> main([('C1', '31'), ('C2', '1'), ('C4', '126'), ('C5', '6'), ('C6', '0')])
'29294687'

Вариант №24

Задача №8

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

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

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

0 1 7 8 14 15 16 24 K1 K2 K3 K4 K5

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

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

0 1 2 8 9 17 18 24 K1 K4 K3 K5 K2

Тесты:

>>> main('27967035')
'7820539'

>>> main('21311744')
'166596'

>>> main('14670610')
'2473838'

>>> main('15353194')
'14013716'

Вариант №25

Задача №8

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

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

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

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

Десятичная строка.
0 3 4 5 6 10 11 16 17 24 I1 I2 I3 I4

Тесты:

>>> main({'I1': 9, 'I2': 0, 'I3': 24, 'I4': 31})
'65033'

>>> main({'I1': 3, 'I2': 1, 'I3': 2, 'I4': 26})
'53395'

>>> main({'I1': 11, 'I2': 1, 'I3': 21, 'I4': 39})
'81243'

>>> main({'I1': 13, 'I2': 3, 'I3': 25, 'I4': 31})
'65149'

Вариант №26

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 6 7 9 10 17 18 26 G1 G2 G4

Тесты:

>>> main(('0x74', '0x4', '0x7c'))
'0x1f00274'

>>> main(('0x2', '0x6', '0x1ec'))
'0x7b00302'

>>> main(('0x36', '0x2', '0x1d1'))
'0x7440136'

>>> main(('0x58', '0x0', '0x18b'))
'0x62c0058'

Вариант №27

Задача №8

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

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

Шестнадцатиричная строка.
0 9 10 14 15 23 24 29 X1 X2 X4

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

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

Тесты:

>>> main('0x3024b0de')
{'X1': 222, 'X2': 12, 'X4': 48}

>>> main('0x3fb7c1e4')
{'X1': 484, 'X2': 16, 'X4': 63}

>>> main('0x1e809455')
{'X1': 85, 'X2': 5, 'X4': 30}

>>> main('0x1f4ad22d')
{'X1': 557, 'X2': 20, 'X4': 31}

Вариант №28

Задача №8

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

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

Шестнадцатиричная строка.
0 1 2 9 10 13 14 16 F1 F2 F3 F4

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

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

Тесты:

>>> main('0x15ff8')
{'F1': 0, 'F2': 254, 'F3': 7, 'F4': 5}

>>> main('0xe951')
{'F1': 1, 'F2': 84, 'F3': 10, 'F4': 3}

>>> main('0x1d12e')
{'F1': 2, 'F2': 75, 'F3': 4, 'F4': 7}

>>> main('0x170bc')
{'F1': 0, 'F2': 47, 'F3': 12, 'F4': 5}

Вариант №29

Задача №8

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

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

Шестнадцатиричная строка.
0 8 9 16 V1 17 20 21 22 23 28 29 33 V3 V4 V5 V6

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

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

Тесты:

>>> main('0x1b0d89eaf')
{'V1': '0xaf', 'V3': '0xc', 'V4': '0x2', 'V5': '0x21', 'V6': '0xd'}

>>> main('0x9e5ba264')
{'V1': '0x64', 'V3': '0xd', 'V4': '0x2', 'V5': '0x3c', 'V6': '0x4'}

>>> main('0x5f0f3fb9')
{'V1': '0x1b9', 'V3': '0x7', 'V4': '0x0', 'V5': '0x3e', 'V6': '0x2'}

>>> main('0x1ff8ab7bf')
{'V1': '0x1bf', 'V3': '0x5', 'V4': '0x0', 'V5': '0x3f', 'V6': '0xf'}

Вариант №30

Задача №8

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

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

Десятичная строка.
0 5 6 14 15 16 17 E1 E2 E3 E4 18 19 20 25 26 35 E4 E5 E6

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

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

Тесты:

>>> main('40335914812')
{'E1': '60', 'E2': '220', 'E3': '2', 'E4': '2', 'E5': '3', 'E6': '601'}

>>> main('22932180631')
{'E1': '23', 'E2': '314', 'E3': '2', 'E4': '6', 'E5': '45', 'E6': '341'}

>>> main('6012493236')
{'E1': '52', 'E2': '374', 'E3': '2', 'E4': '7', 'E5': '37', 'E6': '89'}

>>> main('2081422254')
{'E1': '46', 'E2': '494', 'E3': '3', 'E4': '7', 'E5': '0', 'E6': '31'}

Вариант №31

Задача №8

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

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

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

0 5 6 15 16 17 18 20 C1 C2 C3 C4

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

Целое.

0 1 2 4 5 14 15 20 C3 C4 C2 C1

Тесты:

>>> main('518429')
980103

>>> main('853969')
558061

>>> main('1083449')
1885200

>>> main('547509')
1748296

Вариант №32

Задача №8

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

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

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

0 3 4 7 8 11 12 U1 U2 U3 U4

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

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

0 1 4 5 8 9 12 U4 U3 U2 U1

Тесты:

>>> main('0x2dc')
'6564'

>>> main('0x1ae8')
'4565'

>>> main('0x29c')
'6436'

>>> main('0x666')
'3276'

Вариант №33

Задача №8

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

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

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

0 2 3 9 10 11 12 15 16 18 U1 U3 U4 U5

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

Целое.

0 1 2 4 5 7 8 11 12 18 U3 U1 U5 U4

Тесты:

>>> main('0x61fa0')
451

>>> main('0x4bd1d')
2967

>>> main('0x5c8f6')
3258

>>> main('0x69c73')
2511

Вариант №34

Задача №8

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

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

Целое.
0 1 2 10 11 16 V2 V3 17 19 20 26 27 33 V3 V4 V5

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

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

Тесты:

>>> main(11375249996)
[('V2', 147), ('V3', 145), ('V4', 96), ('V5', 84)]

>>> main(15938335850)
[('V2', 282), ('V3', 502), ('V4', 95), ('V5', 118)]

>>> main(8401675801)
[('V2', 390), ('V3', 236), ('V4', 76), ('V5', 62)]

>>> main(1199276267)
[('V2', 58), ('V3', 368), ('V4', 119), ('V5', 8)]

Вариант №35

Задача №8

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

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

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

0 6 7 8 14 15 24 25 29 X1 X2 X3 X4 X5

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

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

0 6 7 16 17 23 24 25 29 X1 X4 X3 X2 X5

Тесты:

>>> main('0x1d616b75')
'0x1cd76175'

>>> main('0x17e29cd6')
'0x1739e2d6'

>>> main('0x903469c')
'0x98d031c'

>>> main('0x341e1ec5')
'0x353c1e45'

Вариант №36

Задача №8

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

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

Целое.
0 1 2 3 10 11 19 O1 O2 O3

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

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

Тесты:

>>> main(1081)
{'O1': '1', 'O2': '0', 'O3': '135'}

>>> main(143)
{'O1': '3', 'O2': '1', 'O3': '17'}

>>> main(804)
{'O1': '0', 'O2': '1', 'O3': '100'}

>>> main(1865)
{'O1': '1', 'O2': '0', 'O3': '233'}

Вариант №37

Задача №8

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

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

Целое.

0 1 10 11 17 18 19 20 27 28 29 P1 P2 P3 P4 P5 P6

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

Целое.

0 9 10 11 12 18 19 26 27 28 29 P2 P4 P3 P5 P6 P1

Тесты:

>>> main(821298519)
947390123

>>> main(902815136)
451395280

>>> main(68711567)
571009607

>>> main(287662336)
143836288

Вариант №38

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x12c264772')
{'G1': '0x172', 'G2': '0x323', 'G3': '0x0', 'G4': '0x1', 'G5': '0x258'}

>>> main('0x466f0884')
{'G1': '0x84', 'G2': '0x384', 'G3': '0x1', 'G4': '0x3', 'G5': '0x8c'}

>>> main('0x1ab68c63a')
{'G1': '0x3a', 'G2': '0x63', 'G3': '0x1', 'G4': '0x3', 'G5': '0x356'}

>>> main('0x1b2151cce')
{'G1': '0xce', 'G2': '0x28e', 'G3': '0x2', 'G4': '0x0', 'G5': '0x364'}

Вариант №39

Задача №8

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

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

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

0 1 2 4 5 12 13 14 T1 T2 T3 T4

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

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

0 2 3 4 5 6 7 14 T2 T4 T1 T3

Тесты:

>>> main('0x6084')
'0x219'

>>> main('0x2bbd')
'0x2eaf'

>>> main('0x3b87')
'0x6e69'

>>> main('0x7fb9')
'0x7ebe'

Вариант №40

Задача №8

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

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

Целое.
0 6 7 8 9 16 17 19 N2 N3 N4

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

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

Тесты:

>>> main(640306)
('2', '226', '4')

>>> main(207475)
('0', '149', '1')

>>> main(904980)
('2', '231', '6')

>>> main(318493)
('0', '110', '2')