ИКБО-27-22

Вариант №1

Задача №8

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

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

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

0 1 2 5 6 7 8 15 16 20 D1 D2 D3 D4 D5 D6

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

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

0 7 8 9 10 14 15 18 19 20 D5 D4 D6 D3 D1 D2

Тесты:

>>> main('1159276')
'0x5c5b0'

>>> main('509536')
'0x41dc6'

>>> main('1915009')
'0x87638'

>>> main('732666')
'0x172f2d'

Вариант №2

Задача №8

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

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

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

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

Десятичная строка.
0 1 2 3 10 11 13 14 21 M1 M3 M4 M5

Тесты:

>>> main(('1', '212', '0', '163'))
'2672289'

>>> main(('1', '242', '2', '69'))
'1136529'

>>> main(('0', '251', '0', '220'))
'3606488'

>>> main(('0', '209', '7', '46'))
'769672'

Вариант №3

Задача №8

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

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

Десятичная строка.
0 2 3 6 7 13 14 20 P2 P3 P4

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

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

Тесты:

>>> main('1220436')
[('P2', 10), ('P3', 62), ('P4', 74)]

>>> main('717424')
[('P2', 14), ('P3', 100), ('P4', 43)]

>>> main('1679950')
[('P2', 9), ('P3', 68), ('P4', 102)]

>>> main('1345385')
[('P2', 13), ('P3', 14), ('P4', 82)]

Вариант №4

Задача №8

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

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

Целое.
0 7 8 17 18 21 22 B2 B3 B4

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

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

Тесты:

>>> main(803165)
[('B2', '65'), ('B3', '3'), ('B4', '0')]

>>> main(6538001)
[('B2', '963'), ('B3', '8'), ('B4', '1')]

>>> main(1018225)
[('B2', '905'), ('B3', '3'), ('B4', '0')]

>>> main(2623563)
[('B2', '8'), ('B3', '10'), ('B4', '0')]

Вариант №5

Задача №8

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

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

Целое.
0 8 9 12 13 16 17 22 23 24 25 G1 G2 G3 G4 G5 G6

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

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

Тесты:

>>> main(9073250)
{'G1': '0x62', 'G2': '0x9', 'G3': '0x3', 'G4': '0x5', 'G5': '0x1', 'G6': '0x0'}

>>> main(29424548)
{'G1': '0x1a4', 'G2': '0xd', 'G3': '0x7', 'G4': '0x20', 'G5': '0x3', 'G6': '0x0'}

>>> main(3633214)
{'G1': '0x3e', 'G2': '0x8', 'G3': '0xb', 'G4': '0x1b', 'G5': '0x0', 'G6': '0x0'}

>>> main(33462036)
{'G1': '0x114', 'G2': '0xb', 'G3': '0x4', 'G4': '0x3f', 'G5': '0x3', 'G6': '0x0'}

Вариант №6

Задача №8

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

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

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

0 2 3 4 12 13 16 W1 W2 W3 W4

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

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

0 2 3 6 7 8 16 W1 W4 W2 W3

Тесты:

>>> main('355')
'0x1603'

>>> main('106969')
'0x1de9'

>>> main('72540')
'0x1b5c4'

>>> main('52605')
'0xd7b5'

Вариант №7

Задача №8

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

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

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

0 2 3 4 5 7 8 12 13 16 17 23 W1 W2 W3 W4 W5 W6

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

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

0 1 2 4 5 11 12 16 17 20 21 23 W2 W1 W6 W4 W5 W3

Тесты:

>>> main('0xb3cdb')
'13877423'

>>> main('0x237e04')
'1565232'

>>> main('0xbd1a30')
'3255234'

>>> main('0x9005d5')
'12605718'

Вариант №8

Задача №8

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

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

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

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

Целое.
0 1 2 5 6 8 9 18 19 20 N1 N2 N3 N4 N5

Тесты:

>>> main((2, 13, 5, 39, 0))
20342

>>> main((0, 0, 2, 151, 2))
1126016

>>> main((3, 5, 4, 969, 3))
2069271

>>> main((3, 13, 6, 645, 1))
854967

Вариант №9

Задача №8

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

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

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

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

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

Тесты:

>>> main({'F1': '0x0', 'F2': '0x1', 'F3': '0x153', 'F4': '0xa', 'F5': '0xd', 'F6': '0x37'})
'117090970'

>>> main({'F1': '0x0', 'F2': '0x1', 'F3': '0x101', 'F4': '0x17', 'F5': '0x4', 'F6': '0x10'})
'34174986'

>>> main({'F1': '0x1', 'F2': '0x2', 'F3': '0x19e', 'F4': '0x1b', 'F5': '0xf', 'F6': '0x32'})
'106937589'

>>> main({'F1': '0x1', 'F2': '0x2', 'F3': '0x81', 'F4': '0x10', 'F5': '0xc', 'F6': '0xa'})
'22610957'

Вариант №10

Задача №8

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

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

Целое.
0 5 6 15 16 G1 G2 G3 17 25 26 32 33 G3 G4 G5

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

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

Тесты:

>>> main(4653066687)
{'G1': '63', 'G2': '166', 'G3': '344', 'G4': '69', 'G5': '0'}

>>> main(13927740443)
{'G1': '27', 'G2': '464', 'G3': '552', 'G4': '79', 'G5': '1'}

>>> main(12974976802)
{'G1': '34', 'G2': '444', 'G3': '350', 'G4': '65', 'G5': '1'}

>>> main(15705563458)
{'G1': '2', 'G2': '901', 'G3': '31', 'G4': '106', 'G5': '1'}

Вариант №11

Задача №8

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

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

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

0 3 4 13 14 19 20 28 B1 B2 B3 B4

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

Целое.

0 5 6 15 16 19 20 28 B3 B2 B1 B4

Тесты:

>>> main('497204188')
497872714

>>> main('525757040')
525380057

>>> main('6153479')
5739575

>>> main('376025425')
375506278

Вариант №12

Задача №8

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

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

Целое.

0 7 8 16 A2 17 22 23 25 26 32 A3 A4 A5

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

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

0 5 6 8 9 16 A3 A4 A2 17 18 25 26 32 A2 A5

Тесты:

>>> main(2798614751)
'0xa402f167'

>>> main(6551906064)
'0x184004f43'

>>> main(7911409358)
'0x1d4010dc7'

>>> main(3106446939)
'0xb8013c94'

Вариант №13

Задача №8

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

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

Целое.
0 1 6 7 12 13 17 L1 L2 L3 L4 18 22 23 30 31 35 L4 L5 L6

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

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

Тесты:

>>> main(4219398477)
{'L1': '1', 'L2': '38', 'L3': '18', 'L4': '1015', 'L5': '246', 'L6': '1'}

>>> main(36425066274)
{'L1': '0', 'L2': '17', 'L3': '14', 'L4': '211', 'L5': '246', 'L6': '16'}

>>> main(57266182743)
{'L1': '1', 'L2': '43', 'L3': '52', 'L4': '676', 'L5': '170', 'L6': '26'}

>>> main(52587504757)
{'L1': '1', 'L2': '58', 'L3': '8', 'L4': '941', 'L5': '124', 'L6': '24'}

Вариант №14

Задача №8

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

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

Шестнадцатиричная строка.
0 6 7 16 17 26 27 29 T2 T3 T4

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

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

Тесты:

>>> main('0x1fefa23b')
[('T2', '836'), ('T3', '1015'), ('T4', '3')]

>>> main('0xe4faf72')
[('T2', '862'), ('T3', '807'), ('T4', '1')]

>>> main('0x975efcf')
[('T2', '991'), ('T3', '186'), ('T4', '1')]

>>> main('0x1d1e060e')
[('T2', '12'), ('T3', '655'), ('T4', '3')]

Вариант №15

Задача №8

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

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

Шестнадцатиричная строка.
0 5 6 9 10 11 12 13 14 23 24 29 R1 R2 R3 R4 R5

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

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

Тесты:

>>> main('0xae8a0e')
{'R1': '0xe', 'R2': '0x8', 'R3': '0x2', 'R4': '0x0', 'R5': '0x2ba'}

>>> main('0xc7418c')
{'R1': '0xc', 'R2': '0x6', 'R3': '0x0', 'R4': '0x0', 'R5': '0x31d'}

>>> main('0x848150')
{'R1': '0x10', 'R2': '0x5', 'R3': '0x0', 'R4': '0x0', 'R5': '0x212'}

>>> main('0x6bcb26')
{'R1': '0x26', 'R2': '0xc', 'R3': '0x2', 'R4': '0x0', 'R5': '0x1af'}

Вариант №16

Задача №8

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

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

Десятичная строка.
0 2 3 11 12 19 20 21 22 26 D1 D2 D3 D4

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

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

Тесты:

>>> main('4140168')
{'D1': 0, 'D2': 401, 'D3': 242, 'D4': 3}

>>> main('1105328')
{'D1': 0, 'D2': 438, 'D3': 13, 'D4': 1}

>>> main('46253')
{'D1': 5, 'D2': 149, 'D3': 11, 'D4': 0}

>>> main('3392750')
{'D1': 6, 'D2': 157, 'D3': 60, 'D4': 3}

Вариант №17

Задача №8

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

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

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

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

Целое.
0 2 3 7 8 17 18 19 27 J1 J3 J4 J5

Тесты:

>>> main([('J1', '5'), ('J3', '846'), ('J4', '0'), ('J5', '304')])
159600133

>>> main([('J1', '6'), ('J3', '392'), ('J4', '0'), ('J5', '452')])
237078534

>>> main([('J1', '5'), ('J3', '609'), ('J4', '0'), ('J5', '41')])
21651717

>>> main([('J1', '3'), ('J3', '472'), ('J4', '1'), ('J5', '318')])
167106563

Вариант №18

Задача №8

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

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

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

0 9 10 17 18 23 24 27 D1 D3 D4

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

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

0 5 6 13 14 17 18 27 D3 D4 D1

Тесты:

>>> main('0x9807158')
'90325024'

>>> main('0x88afc18')
'6422562'

>>> main('0xc62a90c')
'70451224'

>>> main('0x4027449')
'19202048'

Вариант №19

Задача №8

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

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

Шестнадцатиричная строка.
0 4 5 6 12 13 19 20 25 D1 D2 D3 D4 D5

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

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

Тесты:

>>> main('0x1072999')
[('D1', 25), ('D2', 0), ('D3', 38), ('D4', 57), ('D5', 16)]

>>> main('0xeee332')
[('D1', 18), ('D2', 1), ('D3', 12), ('D4', 119), ('D5', 14)]

>>> main('0x2180381')
[('D1', 1), ('D2', 0), ('D3', 14), ('D4', 64), ('D5', 33)]

>>> main('0x2b2961b')
[('D1', 27), ('D2', 0), ('D3', 88), ('D4', 20), ('D5', 43)]

Вариант №20

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 9 10 11 17 H1 H2 H3 18 20 21 26 27 34 H3 H4 H5

Тесты:

>>> main({'H1': 495, 'H2': 1, 'H3': 347, 'H4': 44, 'H5': 246})
'0x7b58addef'

>>> main({'H1': 665, 'H2': 0, 'H3': 610, 'H4': 61, 'H5': 104})
'0x347b31299'

>>> main({'H1': 776, 'H2': 0, 'H3': 827, 'H4': 33, 'H5': 50})
'0x19439db08'

>>> main({'H1': 693, 'H2': 0, 'H3': 522, 'H4': 28, 'H5': 186})
'0x5d39052b5'

Вариант №21

Задача №8

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

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

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

0 9 10 18 19 20 M1 M2 21 28 29 32 33 34 41 M4 M5 M6

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

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

0 7 8 11 12 20 M6 M4 M2 21 30 31 40 41 M1 M5

Тесты:

>>> main('2582908600056')
'0x17c0005fb96'

>>> main('1675040462978')
'0x24100046061'

>>> main('608090984524')
'0x2600104c23'

>>> main('589740522906')
'0xcd0018fa22'

Вариант №22

Задача №8

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

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

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

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

Десятичная строка.
0 1 10 11 12 14 15 20 J1 J3 J4 J5

Тесты:

>>> main({'J1': 0, 'J3': 1, 'J4': 5, 'J5': 18})
'612352'

>>> main({'J1': 1, 'J3': 0, 'J4': 2, 'J5': 58})
'1908737'

>>> main({'J1': 0, 'J3': 0, 'J4': 0, 'J5': 55})
'1802240'

>>> main({'J1': 1, 'J3': 0, 'J4': 3, 'J5': 38})
'1257473'

Вариант №23

Задача №8

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

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

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

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

Десятичная строка.
0 9 10 16 17 19 20 29 J1 J3 J4

Тесты:

>>> main({'J1': 430, 'J3': 7, 'J4': 578})
'606994862'

>>> main({'J1': 2, 'J3': 1, 'J4': 473})
'496107522'

>>> main({'J1': 277, 'J3': 5, 'J4': 594})
'623509781'

>>> main({'J1': 559, 'J3': 2, 'J4': 398})
'417595951'

Вариант №24

Задача №8

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

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

Целое.
0 2 3 4 11 12 20 21 23 M1 M3 M4 M5

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

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

Тесты:

>>> main(14657693)
(5, 137, 506, 6)

>>> main(16546142)
(6, 149, 455, 7)

>>> main(1986075)
(3, 225, 484, 0)

>>> main(10637148)
(4, 245, 36, 5)

Вариант №25

Задача №8

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

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

Целое.
0 6 7 15 16 17 Z1 Z2 Z3 Z4 18 25 26 32 33 34 Z4 Z5 Z6

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

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

Тесты:

>>> main(721758738)
(18, 84, 1, 386, 10, 0)

>>> main(16263148667)
(123, 488, 1, 173, 114, 1)

>>> main(25974227981)
(13, 136, 1, 23, 3, 3)

>>> main(14777746397)
(93, 263, 0, 105, 92, 1)

Вариант №26

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 7 8 9 10 11 12 13 14 17 P1 P2 P3 P4 P5

Тесты:

>>> main([('P1', '14'), ('P2', '2'), ('P3', '1'), ('P4', '0'), ('P5', '9')])
'0x2460e'

>>> main([('P1', '189'), ('P2', '0'), ('P3', '0'), ('P4', '0'), ('P5', '12')])
'0x300bd'

>>> main([('P1', '73'), ('P2', '2'), ('P3', '1'), ('P4', '1'), ('P5', '15')])
'0x3d649'

>>> main([('P1', '148'), ('P2', '2'), ('P3', '3'), ('P4', '1'), ('P5', '11')])
'0x2de94'

Вариант №27

Задача №8

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

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

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

0 8 9 17 18 19 28 29 N1 N2 N3 N4 N5

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

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

0 1 9 10 19 20 21 29 N3 N2 N4 N5 N1

Тесты:

>>> main('558333139')
'443589501'

>>> main('43674359')
'518082154'

>>> main('874144025')
'591007328'

>>> main('361501006')
'701154321'

Вариант №28

Задача №8

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

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

Целое.
0 7 8 10 11 13 14 17 18 19 20 23 V1 V2 V3 V4 V5 V6

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

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

Тесты:

>>> main(15162894)
{'V1': '0xe', 'V2': '0x6', 'V3': '0x3', 'V4': '0xd', 'V5': '0x1', 'V6': '0xe'}

>>> main(16643954)
{'V1': '0x72', 'V2': '0x7', 'V3': '0x6', 'V4': '0x7', 'V5': '0x3', 'V6': '0xf'}

>>> main(6376922)
{'V1': '0xda', 'V2': '0x5', 'V3': '0x1', 'V4': '0x5', 'V5': '0x0', 'V6': '0x6'}

>>> main(5922213)
{'V1': '0xa5', 'V2': '0x5', 'V3': '0x3', 'V4': '0x9', 'V5': '0x2', 'V6': '0x5'}

Вариант №29

Задача №8

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

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

Десятичная строка.
0 2 3 7 8 12 13 16 P1 P2 P3 P4 17 18 27 28 32 P4 P5 P6

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

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

Тесты:

>>> main('4492388633')
(1, 3, 9, 3, 753, 16)

>>> main('3612324566')
(6, 26, 18, 29, 467, 13)

>>> main('1246302989')
(5, 1, 19, 8, 658, 4)

>>> main('3068418351')
(7, 5, 25, 2, 441, 11)

Вариант №30

Задача №8

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

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

Десятичная строка.
0 4 5 8 9 13 14 15 16 19 20 22 H1 H2 H3 H4 H6

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

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

Тесты:

>>> main('1020922')
(26, 15, 9, 2, 0)

>>> main('5753445')
(5, 3, 5, 3, 5)

>>> main('7658231')
(23, 7, 13, 3, 7)

>>> main('4675815')
(7, 7, 12, 1, 4)

Вариант №31

Задача №8

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

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

Шестнадцатиричная строка.
0 1 4 5 8 9 16 K1 K3 K4

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

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

Тесты:

>>> main('0x1811')
[('K1', '1'), ('K3', '0'), ('K4', '12')]

>>> main('0xb66f')
[('K1', '1'), ('K3', '3'), ('K4', '91')]

>>> main('0xa287')
[('K1', '1'), ('K3', '4'), ('K4', '81')]

>>> main('0x137b8')
[('K1', '0'), ('K3', '13'), ('K4', '155')]

Вариант №32

Задача №8

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

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

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

0 3 4 10 11 12 13 M1 M2 M4

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

Целое.

0 6 7 10 11 12 13 M2 M1 M4

Тесты:

>>> main('0x8e0')
14

>>> main('0x3383')
12728

>>> main('0x3ec9')
13548

>>> main('0x649')
1252

Вариант №33

Задача №8

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

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

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

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

Целое.
0 6 7 12 13 19 20 21 T1 T2 T4

Тесты:

>>> main((108, 31, 0))
4076

>>> main((116, 42, 2))
2102644

>>> main((124, 41, 0))
5372

>>> main((63, 46, 2))
2103103

Вариант №34

Задача №8

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

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

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

0 4 5 9 10 16 17 21 22 23 25 R1 R2 R3 R4 R5 R6

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

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

0 2 3 9 10 11 15 16 20 21 25 R6 R3 R5 R2 R1 R4

Тесты:

>>> main('27176218')
'33177947'

>>> main('52661082')
'37409558'

>>> main('63630689')
'10575327'

>>> main('35014690')
'23201940'

Вариант №35

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 2 3 8 9 11 12 16 Y1 Y2 Y3 Y4 17 18 27 28 33 Y4 Y5 Y6

Тесты:

>>> main([('Y1', '4'), ('Y2', '61'), ('Y3', '2'), ('Y4', '30'), ('Y5', '727'), ('Y6', '39')])
'0x27b5de5ec'

>>> main([('Y1', '2'), ('Y2', '30'), ('Y3', '3'), ('Y4', '7'), ('Y5', '457'), ('Y6', '60')])
'0x3c72476f2'

>>> main([('Y1', '2'), ('Y2', '11'), ('Y3', '7'), ('Y4', '9'), ('Y5', '727'), ('Y6', '44')])
'0x2cb5c9e5a'

>>> main([('Y1', '4'), ('Y2', '20'), ('Y3', '4'), ('Y4', '23'), ('Y5', '52'), ('Y6', '41')])
'0x290d178a4'

Вариант №36

Задача №8

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

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

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

0 9 10 15 16 21 22 23 Y1 Y3 Y4

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

Целое.

0 1 2 7 8 13 14 23 Y4 Y3 Y1

Тесты:

>>> main('15648389')
10579459

>>> main('11745726')
7320322

>>> main('729891')
13159168

>>> main('13996257')
3691779

Вариант №37

Задача №8

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

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

Шестнадцатиричная строка.
0 5 6 13 14 17 18 22 Y1 Y2 Y3 Y4

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

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

Тесты:

>>> main('0x7aa936')
{'Y1': '54', 'Y2': '164', 'Y3': '10', 'Y4': '30'}

>>> main('0x70409e')
{'Y1': '30', 'Y2': '2', 'Y3': '1', 'Y4': '28'}

>>> main('0x4fa122')
{'Y1': '34', 'Y2': '132', 'Y3': '14', 'Y4': '19'}

>>> main('0x10b19f')
{'Y1': '31', 'Y2': '198', 'Y3': '2', 'Y4': '4'}

Вариант №38

Задача №8

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

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

Целое.
0 7 8 12 13 17 S2 S3 18 20 21 27 28 35 S3 S4 S5

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

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

Тесты:

>>> main(24131119405)
{'S2': 9, 'S3': 157, 'S4': 114, 'S5': 89}

>>> main(63375921666)
{'S2': 18, 'S3': 254, 'S4': 11, 'S5': 236}

>>> main(64593098227)
{'S2': 21, 'S3': 99, 'S4': 80, 'S5': 240}

>>> main(11277134724)
{'S2': 11, 'S3': 91, 'S4': 1, 'S5': 42}

Вариант №39

Задача №8

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

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

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

0 1 2 3 7 8 14 15 19 20 26 V1 V2 V3 V4 V5 V6

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

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

0 6 7 8 9 10 14 15 21 22 26 V4 V1 V2 V3 V6 V5

Тесты:

>>> main('27412121')
'0x10d4cc6'

>>> main('98527373')
'0x7aec6e8'

>>> main('23610371')
'0x40b01c4'

>>> main('1743643')
'0x5408d9b'

Вариант №40

Задача №8

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

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

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

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

Целое.
0 1 2 8 9 15 16 17 18 24 J1 J2 J3 J4 J5

Тесты:

>>> main({'J1': 2, 'J2': 94, 'J3': 4, 'J4': 1, 'J5': 91})
23923066

>>> main({'J1': 2, 'J2': 3, 'J3': 3, 'J4': 0, 'J5': 123})
32245262

>>> main({'J1': 0, 'J2': 40, 'J3': 70, 'J4': 0, 'J5': 48})
12618912

>>> main({'J1': 0, 'J2': 72, 'J3': 16, 'J4': 0, 'J5': 66})
17309984