ИКБО-28-22

Вариант №1

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 6 7 8 14 15 19 20 22 P1 P2 P3 P4 P5

Тесты:

>>> main({'P1': '5', 'P2': '1', 'P3': '71', 'P4': '6', 'P5': '7'})
'0x734785'

>>> main({'P1': '81', 'P2': '0', 'P3': '90', 'P4': '15', 'P5': '1'})
'0x17da51'

>>> main({'P1': '0', 'P2': '0', 'P3': '115', 'P4': '1', 'P5': '7'})
'0x70f300'

>>> main({'P1': '35', 'P2': '0', 'P3': '28', 'P4': '13', 'P5': '0'})
'0x69c23'

Вариант №2

Задача №8

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

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

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

0 2 3 11 12 15 Y1 Y2 Y3 16 17 18 25 26 31 Y3 Y4 Y5

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

Целое.

0 5 6 11 12 15 Y5 Y3 Y2 16 20 21 28 29 31 Y2 Y4 Y1

Тесты:

>>> main('1739144893')
3177018585

>>> main('979641504')
321470606

>>> main('2778720482')
1290915753

>>> main('465620800')
505316102

Вариант №3

Задача №8

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

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

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

0 1 2 8 9 11 12 14 P1 P2 P4

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

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

0 6 7 9 10 12 13 14 P2 P4 P1

Тесты:

>>> main('27743')
'30743'

>>> main('21624')
'5150'

>>> main('18739')
'28748'

>>> main('12066')
'18504'

Вариант №4

Задача №8

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

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

Шестнадцатиричная строка.
0 7 8 9 10 11 18 19 22 W1 W2 W3 W4 W5

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

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

Тесты:

>>> main('0x735b90')
('144', '1', '1', '107', '14')

>>> main('0x404a2e')
('46', '0', '1', '9', '8')

>>> main('0x6f8d34')
('52', '1', '2', '241', '13')

>>> main('0xd8da2')
('162', '1', '2', '177', '1')

Вариант №5

Задача №8

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

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

Шестнадцатиричная строка.
0 8 9 15 16 17 L1 L2 18 21 22 26 27 28 29 35 L4 L5 L6

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

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

Тесты:

>>> main('0x2690fc2c9')
('201', '97', '4', '1', '19')

>>> main('0x2715ea999')
('409', '84', '5', '2', '19')

>>> main('0x83fc2d9e4')
('484', '108', '31', '3', '65')

>>> main('0x98dbde5d1')
('465', '114', '22', '1', '76')

Вариант №6

Задача №8

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

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

Целое.
0 3 4 5 6 7 8 15 Q1 Q2 Q3 Q4

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

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

Тесты:

>>> main(9712)
('0', '3', '3', '37')

>>> main(40969)
('9', '0', '0', '160')

>>> main(64160)
('0', '2', '2', '250')

>>> main(33021)
('13', '3', '3', '128')

Вариант №7

Задача №8

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

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

Целое.
0 5 6 15 16 17 19 20 21 22 24 R2 R3 R4 R5 R6

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

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

Тесты:

>>> main(4806224)
(345, 1, 4, 0, 1)

>>> main(9278646)
(594, 1, 6, 0, 2)

>>> main(10893862)
(232, 0, 3, 2, 2)

>>> main(9654455)
(322, 1, 1, 1, 2)

Вариант №8

Задача №8

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

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

Целое.
0 1 2 9 10 12 13 14 E1 E2 E3 E4

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

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

Тесты:

>>> main(16938)
[('E1', '0x2'), ('E2', '0x8a'), ('E3', '0x0'), ('E4', '0x2')]

>>> main(8749)
[('E1', '0x1'), ('E2', '0x8b'), ('E3', '0x0'), ('E4', '0x1')]

>>> main(7003)
[('E1', '0x3'), ('E2', '0xd6'), ('E3', '0x6'), ('E4', '0x0')]

>>> main(29229)
[('E1', '0x1'), ('E2', '0x8b'), ('E3', '0x4'), ('E4', '0x3')]

Вариант №9

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 1 10 11 18 X1 X2 X3 19 20 29 30 37 X4 X5 X6

Тесты:

>>> main({'X1': '0', 'X2': '296', 'X3': '243', 'X4': '1', 'X5': '828', 'X6': '232'})
'0x3a33cf9a50'

>>> main({'X1': '1', 'X2': '120', 'X3': '230', 'X4': '0', 'X5': '661', 'X6': '187'})
'0x2ee95730f1'

>>> main({'X1': '0', 'X2': '898', 'X3': '124', 'X4': '1', 'X5': '749', 'X6': '103'})
'0x19eedbe704'

>>> main({'X1': '0', 'X2': '647', 'X3': '143', 'X4': '1', 'X5': '83', 'X6': '168'})
'0x2a053c7d0e'

Вариант №10

Задача №8

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

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

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

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

Десятичная строка.
0 1 2 9 10 16 17 25 U1 U2 U3 U4

Тесты:

>>> main({'U1': 0, 'U2': 75, 'U3': 74, 'U4': 33})
'4401452'

>>> main({'U1': 0, 'U2': 254, 'U3': 85, 'U4': 325})
'42686456'

>>> main({'U1': 2, 'U2': 206, 'U3': 123, 'U4': 297})
'39055162'

>>> main({'U1': 2, 'U2': 84, 'U3': 74, 'U4': 369})
'48441682'

Вариант №11

Задача №8

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

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

Шестнадцатиричная строка.
0 9 10 14 15 16 22 23 25 26 L1 L3 L4 L5 L6

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

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

Тесты:

>>> main('0x4ba9640')
[('L1', 576), ('L3', 1), ('L4', 58), ('L5', 1), ('L6', 1)]

>>> main('0x4372e9e')
[('L1', 670), ('L3', 0), ('L4', 55), ('L5', 0), ('L6', 1)]

>>> main('0x5d96f54')
[('L1', 852), ('L3', 0), ('L4', 89), ('L5', 3), ('L6', 1)]

>>> main('0x6f5d6ca')
[('L1', 714), ('L3', 1), ('L4', 117), ('L5', 5), ('L6', 1)]

Вариант №12

Задача №8

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

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

Шестнадцатиричная строка.
0 9 10 14 15 24 25 E1 E2 E4

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

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

Тесты:

>>> main('0xf504ac')
[('E1', '172'), ('E2', '1'), ('E4', '0')]

>>> main('0x33e1807')
[('E1', '7'), ('E2', '6'), ('E4', '1')]

>>> main('0xa42e8')
[('E1', '744'), ('E2', '16'), ('E4', '0')]

>>> main('0x2ad4641')
[('E1', '577'), ('E2', '17'), ('E4', '1')]

Вариант №13

Задача №8

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

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

Десятичная строка.
0 1 2 9 10 18 19 20 21 23 Z1 Z2 Z4 Z5

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

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

Тесты:

>>> main('7365856')
('0x0', '0x38', '0x2', '0x3')

>>> main('3612160')
('0x0', '0x80', '0x2', '0x1')

>>> main('8715501')
('0x1', '0x3b', '0x0', '0x4')

>>> main('5079031')
('0x3', '0xfd', '0x1', '0x2')

Вариант №14

Задача №8

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

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

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

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

Десятичная строка.
0 3 4 9 10 11 18 R1 R2 R3

Тесты:

>>> main({'R1': '7', 'R2': '39', 'R3': '0'})
'631'

>>> main({'R1': '5', 'R2': '44', 'R3': '1'})
'1733'

>>> main({'R1': '9', 'R2': '54', 'R3': '1'})
'1897'

>>> main({'R1': '2', 'R2': '8', 'R3': '1'})
'1154'

Вариант №15

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 3 4 6 7 8 10 Y1 Y2 Y3

Тесты:

>>> main([('Y1', '0xe'), ('Y2', '0x2'), ('Y3', '0x0')])
'0x2e'

>>> main([('Y1', '0x7'), ('Y2', '0x1'), ('Y3', '0x1')])
'0x97'

>>> main([('Y1', '0xd'), ('Y2', '0x2'), ('Y3', '0x1')])
'0xad'

>>> main([('Y1', '0xc'), ('Y2', '0x2'), ('Y3', '0x0')])
'0x2c'

Вариант №16

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 6 7 8 9 10 14 15 21 D1 D2 D3 D4 D5

Тесты:

>>> main(('0x67', '0x2', '0x1', '0x1a', '0x77'))
'0x3beb67'

>>> main(('0x3', '0x0', '0x0', '0xc', '0xc'))
'0x63003'

>>> main(('0x1f', '0x2', '0x0', '0x9', '0x1'))
'0xa51f'

>>> main(('0xe', '0x0', '0x0', '0x1e', '0x56'))
'0x2b780e'

Вариант №17

Задача №8

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

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

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

0 9 10 11 18 T1 T3 19 20 21 28 29 36 T4 T5 T6

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

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

0 9 10 11 12 13 18 T1 T4 T5 19 20 21 28 29 36 T5 T6 T3

Тесты:

>>> main('65544242747')
'0x170f42ba3b'

>>> main('81446145589')
'0x632f69235'

>>> main('58314000630')
'0x42d93c8f6'

>>> main('96383430983')
'0x19d670e147'

Вариант №18

Задача №8

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

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

Целое.
0 9 10 17 18 21 22 29 N1 N2 N3 N4

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

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

Тесты:

>>> main(691310575)
{'N1': '1007', 'N2': '35', 'N3': '13', 'N4': '164'}

>>> main(112128241)
{'N1': '241', 'N2': '188', 'N3': '11', 'N4': '26'}

>>> main(237791787)
{'N1': '555', 'N2': '26', 'N3': '11', 'N4': '56'}

>>> main(979425587)
{'N1': '307', 'N2': '54', 'N3': '8', 'N4': '233'}

Вариант №19

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 3 4 6 7 9 10 14 I1 I3 I4

Тесты:

>>> main(('0x1', '0x3', '0x3'))
'0xd81'

>>> main(('0x7', '0x6', '0xe'))
'0x3b07'

>>> main(('0x0', '0x3', '0xc'))
'0x3180'

>>> main(('0xf', '0x6', '0x9'))
'0x270f'

Вариант №20

Задача №8

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

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

Целое.
0 9 10 15 R1 R2 16 17 18 24 25 27 28 31 R2 R3 R4

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

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

Тесты:

>>> main(206222180)
('868', '172', '18', '6')

>>> main(237021943)
('759', '42', '8', '7')

>>> main(46025869)
('141', '147', '47', '1')

>>> main(253014341)
('325', '44', '69', '7')

Вариант №21

Задача №8

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

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

Целое.
0 3 4 8 9 18 19 25 26 28 H1 H2 H3 H4 H5

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

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

Тесты:

>>> main(393751321)
{'H1': '0x9', 'H2': '0x11', 'H3': '0x15', 'H4': '0x6f', 'H5': '0x5'}

>>> main(17643884)
{'H1': '0xc', 'H2': '0x16', 'H3': '0x29c', 'H4': '0x21', 'H5': '0x0'}

>>> main(343390860)
{'H1': '0xc', 'H2': '0x8', 'H3': '0x3dd', 'H4': '0xe', 'H5': '0x5'}

>>> main(100992052)
{'H1': '0x4', 'H2': '0x3', 'H3': '0x282', 'H4': '0x40', 'H5': '0x1'}

Вариант №22

Задача №8

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

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

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

0 3 4 9 10 16 17 26 W1 W2 W3 W4

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

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

0 3 4 13 14 19 20 26 W1 W4 W2 W3

Тесты:

>>> main('0x6066b33')
'28110899'

>>> main('0x71b91a7')
'105298135'

>>> main('0x3f85925')
'23371717'

>>> main('0x3d9ea64')
'128556740'

Вариант №23

Задача №8

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

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

Десятичная строка.
0 1 2 4 5 6 8 9 13 14 17 R1 R2 R3 R4 R5 R6

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

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

Тесты:

>>> main('170881')
('1', '0', '0', '6', '13', '10')

>>> main('131300')
('0', '1', '1', '3', '0', '8')

>>> main('128767')
('3', '7', '1', '3', '27', '7')

>>> main('123982')
('2', '3', '0', '1', '18', '7')

Вариант №24

Задача №8

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

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

Целое.
0 4 5 12 13 17 18 19 Z1 Z2 Z3 Z4 20 26 27 31 32 38 Z4 Z5 Z6

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

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

Тесты:

>>> main(471811064272)
[('Z1', '16'), ('Z2', '14'), ('Z3', '12'), ('Z4', '136'), ('Z5', '27'), ('Z6', '109')]

>>> main(354272609937)
[('Z1', '17'), ('Z2', '52'), ('Z3', '24'), ('Z4', '274'), ('Z5', '15'), ('Z6', '82')]

>>> main(435921715313)
[('Z1', '17'), ('Z2', '3'), ('Z3', '12'), ('Z4', '445'), ('Z5', '15'), ('Z6', '101')]

>>> main(432151179951)
[('Z1', '15'), ('Z2', '149'), ('Z3', '29'), ('Z4', '397'), ('Z5', '19'), ('Z6', '100')]

Вариант №25

Задача №8

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

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

Шестнадцатиричная строка.
0 7 8 16 17 18 19 22 K1 K2 K4

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

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

Тесты:

>>> main('0x7d9736')
[('K1', 54), ('K2', 407), ('K4', 15)]

>>> main('0x5f1aa6')
[('K1', 166), ('K2', 282), ('K4', 11)]

>>> main('0x679fa6')
[('K1', 166), ('K2', 415), ('K4', 12)]

>>> main('0x122295')
[('K1', 149), ('K2', 34), ('K4', 2)]

Вариант №26

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 1 10 11 14 15 16 22 D1 D2 D3 D5

Тесты:

>>> main(('0x1', '0x31d', '0xf', '0x6d'))
'0x6d7e3b'

>>> main(('0x0', '0x11c', '0xc', '0x64'))
'0x646238'

>>> main(('0x1', '0x1e0', '0x9', '0x71'))
'0x714bc1'

>>> main(('0x1', '0x51', '0x2', '0x63'))
'0x6310a3'

Вариант №27

Задача №8

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

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

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

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

Целое.
0 8 9 12 13 19 20 21 22 24 25 26 N1 N2 N3 N4 N5 N6

Тесты:

>>> main(('0x29', '0x5', '0x64', '0x3', '0x3', '0x1'))
50104873

>>> main(('0x19f', '0x5', '0x3e', '0x3', '0x6', '0x0'))
28822431

>>> main(('0xad', '0x7', '0x71', '0x1', '0x1', '0x3'))
106835629

>>> main(('0x110', '0xc', '0x66', '0x0', '0x5', '0x2'))
88922384

Вариант №28

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 4 5 12 13 16 17 19 20 27 28 30 X1 X2 X3 X4 X5 X6

Тесты:

>>> main({'X1': '0x1e', 'X2': '0x63', 'X3': '0x3', 'X4': '0x2', 'X5': '0x82', 'X6': '0x6'})
'0x68246c7e'

>>> main({'X1': '0x0', 'X2': '0x52', 'X3': '0x3', 'X4': '0x7', 'X5': '0x61', 'X6': '0x6'})
'0x661e6a40'

>>> main({'X1': '0xd', 'X2': '0x7f', 'X3': '0x3', 'X4': '0x0', 'X5': '0xa5', 'X6': '0x4'})
'0x4a506fed'

>>> main({'X1': '0xa', 'X2': '0x49', 'X3': '0xa', 'X4': '0x1', 'X5': '0x62', 'X6': '0x6'})
'0x6623492a'

Вариант №29

Задача №8

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

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

Шестнадцатиричная строка.
0 8 9 16 17 21 22 E1 E3 E4

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

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

Тесты:

>>> main('0x4d50d2')
('0xd2', '0x6', '0x1')

>>> main('0x268df4')
('0x1f4', '0x13', '0x0')

>>> main('0xdbecc')
('0xcc', '0x6', '0x0')

>>> main('0x55034')
('0x34', '0x2', '0x0')

Вариант №30

Задача №8

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

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

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

0 1 7 8 16 17 22 23 27 S1 S2 S3 S4 S5

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

Целое.

0 1 9 10 14 15 21 22 27 S1 S3 S5 S2 S4

Тесты:

>>> main('18874650')
67536898

>>> main('140339829')
194855637

>>> main('143251068')
18827180

>>> main('140212391')
191480561

Вариант №31

Задача №8

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

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

Целое.

0 9 10 15 16 21 22 29 K1 K2 K3 K4

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

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

0 5 6 13 14 23 24 29 K2 K4 K1 K3

Тесты:

>>> main(344227843)
'0x400d4a0'

>>> main(379996591)
'0x266bd692'

>>> main(347350637)
'0x349b5489'

>>> main(839377947)
'0x706f239'

Вариант №32

Задача №8

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

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

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

0 5 6 8 9 17 C1 C2 C3 18 25 26 30 31 34 C4 C6

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

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

0 5 6 10 11 17 C1 C3 18 19 20 23 24 26 27 34 C3 C6 C2 C4

Тесты:

>>> main('0x65348540')
'0x26d021000'

>>> main('0x5cee3629e')
'0x5c2bd881e'

>>> main('0x2fac76b8')
'0x75a01d838'

>>> main('0x3dd5e4466')
'0x2b9791026'

Вариант №33

Задача №8

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

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

Целое.

0 8 9 17 18 20 21 22 E1 E2 E3 E4

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

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

0 8 9 17 18 19 20 22 E2 E1 E4 E3

Тесты:

>>> main(6716121)
'1946429'

>>> main(156904)
'119090'

>>> main(3523524)
'5736673'

>>> main(2345909)
'486373'

Вариант №34

Задача №8

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

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

Целое.
0 5 6 11 12 20 21 22 29 30 R1 R2 R3 R4 R6

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

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

Тесты:

>>> main(1642295646)
[('R1', '0x1e'), ('R2', '0x5'), ('R3', '0x37'), ('R4', '0x1'), ('R6', '0x1')]

>>> main(1756868949)
[('R1', '0x15'), ('R2', '0x5'), ('R3', '0x17b'), ('R4', '0x1'), ('R6', '0x1')]

>>> main(1220816543)
[('R1', '0x1f'), ('R2', '0x3a'), ('R3', '0x42'), ('R4', '0x0'), ('R6', '0x1')]

>>> main(775158638)
[('R1', '0x2e'), ('R2', '0x2d'), ('R3', '0x13f'), ('R4', '0x1'), ('R6', '0x0')]

Вариант №35

Задача №8

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

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

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

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

Десятичная строка.
0 8 9 11 12 20 21 22 23 25 U1 U2 U3 U4 U5

Тесты:

>>> main([('U1', '425'), ('U2', '3'), ('U3', '427'), ('U4', '3'), ('U5', '5')])
'49985449'

>>> main([('U1', '497'), ('U2', '6'), ('U3', '316'), ('U4', '0'), ('U5', '2')])
'18075121'

>>> main([('U1', '376'), ('U2', '1'), ('U3', '80'), ('U4', '2'), ('U5', '1')])
'12911480'

>>> main([('U1', '56'), ('U2', '4'), ('U3', '306'), ('U4', '2'), ('U5', '1')])
'13838392'

Вариант №36

Задача №8

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

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

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

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

Десятичная строка.
0 3 4 5 13 14 19 H1 H2 H3 H4 20 21 29 30 39 H4 H5

Тесты:

>>> main({'H1': '15', 'H2': '0', 'H3': '386', 'H4': '22', 'H5': '113'})
'237350991'

>>> main({'H1': '1', 'H2': '1', 'H3': '377', 'H4': '126', 'H5': '378'})
'794799921'

>>> main({'H1': '3', 'H2': '0', 'H3': '246', 'H4': '114', 'H5': '317'})
'666672835'

>>> main({'H1': '13', 'H2': '1', 'H3': '375', 'H4': '113', 'H5': '408'})
'857501437'

Вариант №37

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 1 9 10 11 12 20 21 29 F1 F2 F3 F4 F5

Тесты:

>>> main({'F1': '0x0', 'F2': '0x75', 'F3': '0x0', 'F4': '0x1a1', 'F5': '0x198'})
'0x331a10ea'

>>> main({'F1': '0x1', 'F2': '0x11', 'F3': '0x0', 'F4': '0x81', 'F5': '0xc7'})
'0x18e81023'

>>> main({'F1': '0x1', 'F2': '0x51', 'F3': '0x2', 'F4': '0x180', 'F5': '0x1d0'})
'0x3a1808a3'

>>> main({'F1': '0x0', 'F2': '0x1c7', 'F3': '0x2', 'F4': '0x9d', 'F5': '0xe4'})
'0x1c89db8e'

Вариант №38

Задача №8

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

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

Целое.
0 1 2 4 5 10 11 19 20 28 T1 T2 T4 T5

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

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

Тесты:

>>> main(287965218)
{'T1': '2', 'T2': '0', 'T4': '320', 'T5': '274'}

>>> main(73160620)
{'T1': '0', 'T2': '3', 'T4': '394', 'T5': '69'}

>>> main(476342927)
{'T1': '3', 'T2': '3', 'T4': '141', 'T5': '454'}

>>> main(440033126)
{'T1': '2', 'T2': '1', 'T4': '331', 'T5': '419'}

Вариант №39

Задача №8

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

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

Десятичная строка.
0 3 4 12 13 17 18 21 Y1 Y3 Y4

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

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

Тесты:

>>> main('1447461')
[('Y1', 5), ('Y3', 16), ('Y4', 5)]

>>> main('451862')
[('Y1', 6), ('Y3', 23), ('Y4', 1)]

>>> main('3429513')
[('Y1', 9), ('Y3', 2), ('Y4', 13)]

>>> main('2764317')
[('Y1', 13), ('Y3', 17), ('Y4', 10)]

Вариант №40

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 8 9 17 18 27 28 29 D1 D2 D3 D4

Тесты:

>>> main({'D1': '0xb1', 'D2': '0x153', 'D3': '0x24f', 'D4': '0x2'})
'0x293ea6b1'

>>> main({'D1': '0x1a8', 'D2': '0x12b', 'D3': '0x274', 'D4': '0x3'})
'0x39d257a8'

>>> main({'D1': '0xb2', 'D2': '0x194', 'D3': '0x2f6', 'D4': '0x2'})
'0x2bdb28b2'

>>> main({'D1': '0xf8', 'D2': '0x1f2', 'D3': '0x392', 'D4': '0x2'})
'0x2e4be4f8'