ИВБО-05-22

Вариант №1

Задача №8

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

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

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

0 9 10 13 14 19 G1 G2 G3 20 23 24 29 30 38 G3 G5

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

Целое.

0 9 10 19 G1 G3 20 25 26 34 35 38 G5 G2

Тесты:

>>> main('94669447989')
280784261941

>>> main('189362868232')
149251063816

>>> main('366791256138')
366481990730

>>> main('40466094903')
208642472759

Вариант №2

Задача №8

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

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

Шестнадцатиричная строка.
0 8 9 15 R1 R2 16 18 19 21 22 31 R2 R3 R4

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

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

Тесты:

>>> main('0x3e1e7d14')
{'R1': '0x114', 'R2': '0x33e', 'R3': '0x3', 'R4': '0xf8'}

>>> main('0x3f5ed3cd')
{'R1': '0x1cd', 'R2': '0x369', 'R3': '0x3', 'R4': '0xfd'}

>>> main('0xae461d4b')
{'R1': '0x14b', 'R2': '0x30e', 'R3': '0x0', 'R4': '0x2b9'}

>>> main('0x905561e2')
{'R1': '0x1e2', 'R2': '0x2b0', 'R3': '0x2', 'R4': '0x241'}

Вариант №3

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 2 3 12 13 18 19 23 X1 X2 X3

Тесты:

>>> main((3, 59, 31))
'0x3e1db'

>>> main((5, 469, 62))
'0x7cead'

>>> main((0, 652, 26))
'0x35460'

>>> main((7, 244, 11))
'0x167a7'

Вариант №4

Задача №8

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

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

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

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

Целое.
0 7 8 10 11 17 18 22 23 25 Q1 Q2 Q3 Q4 Q5

Тесты:

>>> main({'Q1': '253', 'Q2': '1', 'Q3': '54', 'Q4': '20', 'Q5': '0'})
5353981

>>> main({'Q1': '51', 'Q2': '5', 'Q3': '42', 'Q4': '22', 'Q5': '3'})
31020339

>>> main({'Q1': '4', 'Q2': '6', 'Q3': '50', 'Q4': '2', 'Q5': '4'})
34182660

>>> main({'Q1': '80', 'Q2': '4', 'Q3': '102', 'Q4': '5', 'Q5': '4'})
35075152

Вариант №5

Задача №8

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

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

Целое.

0 7 8 17 18 26 27 29 B1 B2 B3

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

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

0 8 9 11 12 19 20 29 B3 B1 B2

Тесты:

>>> main(2514939)
'0x25ffb009'

>>> main(24043598)
'0x2e04e05b'

>>> main(53059892)
'0x1a1340ca'

>>> main(86388120)
'0x22d98149'

Вариант №6

Задача №8

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

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

Десятичная строка.
0 6 7 8 13 14 15 I2 I3 I4

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

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

Тесты:

>>> main('14671')
[('I2', '0'), ('I3', '57'), ('I4', '0')]

>>> main('39284')
[('I2', '0'), ('I3', '25'), ('I4', '2')]

>>> main('54342')
[('I2', '0'), ('I3', '20'), ('I4', '3')]

>>> main('63650')
[('I2', '1'), ('I3', '56'), ('I4', '3')]

Вариант №7

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 1 8 9 11 12 18 19 20 X2 X3 X4 X5

Тесты:

>>> main({'X2': '77', 'X3': '6', 'X4': '99', 'X5': '0'})
'0x63c9a'

>>> main({'X2': '245', 'X3': '1', 'X4': '37', 'X5': '1'})
'0xa53ea'

>>> main({'X2': '225', 'X3': '6', 'X4': '23', 'X5': '0'})
'0x17dc2'

>>> main({'X2': '158', 'X3': '1', 'X4': '52', 'X5': '3'})
'0x1b433c'

Вариант №8

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 1 4 5 13 14 15 18 O1 O2 O4 O5

Тесты:

>>> main([('O1', 0), ('O2', 12), ('O4', 0), ('O5', 7)])
'0x38018'

>>> main([('O1', 0), ('O2', 4), ('O4', 1), ('O5', 5)])
'0x2c008'

>>> main([('O1', 0), ('O2', 1), ('O4', 0), ('O5', 0)])
'0x2'

>>> main([('O1', 1), ('O2', 10), ('O4', 1), ('O5', 10)])
'0x54015'

Вариант №9

Задача №8

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

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

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

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

Десятичная строка.
0 3 4 9 10 15 F1 F2 F3 16 19 20 27 28 31 F3 F4

Тесты:

>>> main({'F1': '10', 'F2': '45', 'F3': '81', 'F4': '244'})
'255936218'

>>> main({'F1': '9', 'F2': '24', 'F3': '356', 'F4': '101'})
'106271113'

>>> main({'F1': '7', 'F2': '42', 'F3': '0', 'F4': '237'})
'248513191'

>>> main({'F1': '14', 'F2': '15', 'F3': '733', 'F4': '181'})
'190543102'

Вариант №10

Задача №8

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

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

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

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

Десятичная строка.
0 3 4 6 7 11 12 21 22 27 Q1 Q2 Q3 Q4 Q5

Тесты:

>>> main([('Q1', '6'), ('Q2', '4'), ('Q3', '13'), ('Q4', '840'), ('Q5', '19')])
'83134150'

>>> main([('Q1', '12'), ('Q2', '1'), ('Q3', '5'), ('Q4', '96'), ('Q5', '35')])
'147194524'

>>> main([('Q1', '1'), ('Q2', '5'), ('Q3', '24'), ('Q4', '896'), ('Q5', '34')])
'146279505'

>>> main([('Q1', '11'), ('Q2', '2'), ('Q3', '23'), ('Q4', '422'), ('Q5', '20')])
'85617579'

Вариант №11

Задача №8

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

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

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

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

Десятичная строка.
0 3 4 8 9 10 11 20 21 25 W1 W2 W4 W5

Тесты:

>>> main([('W1', '0x7'), ('W2', '0x1f'), ('W4', '0x5c'), ('W5', '0x6')])
'12771831'

>>> main([('W1', '0xc'), ('W2', '0x1d'), ('W4', '0x1db'), ('W5', '0x19')])
'53402076'

>>> main([('W1', '0xf'), ('W2', '0x5'), ('W4', '0x21d'), ('W5', '0x1d')])
'61925471'

>>> main([('W1', '0x3'), ('W2', '0x3'), ('W4', '0x23f'), ('W5', '0x3')])
'7469107'

Вариант №12

Задача №8

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

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

Целое.

0 9 10 12 13 16 17 20 K1 K2 K3 K4 21 24 25 32 33 40 K4 K5 K6

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

Целое.

0 2 3 10 11 18 19 20 K2 K4 K5 K3 21 22 23 30 31 40 K3 K6 K1

Тесты:

>>> main(1211245413386)
22658682729

>>> main(1284205988788)
2037065712274

>>> main(249493160583)
1389671504840

>>> main(933147505945)
604352876469

Вариант №13

Задача №8

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

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

Десятичная строка.
0 8 9 16 N1 N2 17 18 19 26 27 32 N2 N3 N4

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

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

Тесты:

>>> main('712956776')
{'N1': '360', 'N2': '877', 'N3': '79', 'N4': '5'}

>>> main('7838229271')
{'N1': '279', 'N2': '241', 'N3': '102', 'N4': '58'}

>>> main('4027103480')
{'N1': '248', 'N2': '92', 'N3': '1', 'N4': '30'}

>>> main('6611496877')
{'N1': '429', 'N2': '439', 'N3': '66', 'N4': '49'}

Вариант №14

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 1 10 11 12 20 Y1 Y2 Y3 Y4

Тесты:

>>> main(('0x1', '0x2ee', '0x0', '0x199'))
'0x1995dd'

>>> main(('0x1', '0x328', '0x1', '0x8'))
'0x8e51'

>>> main(('0x0', '0x52', '0x1', '0x10b'))
'0x10b8a4'

>>> main(('0x0', '0x36a', '0x0', '0xeb'))
'0xeb6d4'

Вариант №15

Задача №8

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

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

Целое.
0 8 9 15 16 18 M1 M2 M3 19 20 21 30 31 34 35 37 M3 M4 M5 M6

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

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

Тесты:

>>> main(105958990056)
{'M1': '0xe8', 'M2': '0x70', 'M3': '0x5', 'M4': '0x15d', 'M5': '0x1', 'M6': '0x3'}

>>> main(260236706275)
{'M1': '0x1e3', 'M2': '0x0', 'M3': '0x11', 'M4': '0xba', 'M5': '0x9', 'M6': '0x7'}

>>> main(95405232745)
{'M1': '0x69', 'M2': '0x29', 'M3': '0x18', 'M4': '0x1b4', 'M5': '0xc', 'M6': '0x2'}

>>> main(19796637959)
{'M1': '0x107', 'M2': '0x5c', 'M3': '0x18', 'M4': '0xdf', 'M5': '0x9', 'M6': '0x0'}

Вариант №16

Задача №8

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

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

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

0 3 4 5 7 8 11 S1 S2 S3 S4

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

Целое.

0 2 3 4 7 8 11 S3 S2 S4 S1

Тесты:

>>> main('0x20c')
3104

>>> main('0x820')
129

>>> main('0x56')
1546

>>> main('0xd9c')
3292

Вариант №17

Задача №8

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

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

Целое.

0 5 6 9 10 17 18 24 25 27 28 X1 X2 X4 X5 X6

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

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

0 1 8 9 11 12 17 18 24 25 28 X6 X5 X1 X4 X2

Тесты:

>>> main(451475787)
'0xae8ba01'

>>> main(455779801)
'0xf299a01'

>>> main(13437132)
'0x6ccc000'

>>> main(199480926)
'0x13e1ea00'

Вариант №18

Задача №8

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

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

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

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

Десятичная строка.
0 5 6 11 12 19 J2 J3 20 21 22 28 29 32 33 38 J3 J4 J5 J6

Тесты:

>>> main([('J2', '0x2f'), ('J3', '0x8c'), ('J4', '0x27'), ('J5', '0x4'), ('J6', '0x34')])
'448988236736'

>>> main([('J2', '0x6'), ('J3', '0x3cb'), ('J4', '0x1f'), ('J5', '0xb'), ('J6', '0x29')])
'358226899328'

>>> main([('J2', '0x1d'), ('J3', '0x30b'), ('J4', '0x5e'), ('J5', '0x0'), ('J6', '0x1')])
'8987391808'

>>> main([('J2', '0x1d'), ('J3', '0x373'), ('J4', '0x75'), ('J5', '0x0'), ('J6', '0x4')])
'34854090560'

Вариант №19

Задача №8

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

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

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

0 5 6 13 14 15 16 18 19 25 Y1 Y2 Y3 Y4 Y5

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

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

0 5 6 13 14 15 16 22 23 25 Y1 Y2 Y3 Y5 Y4

Тесты:

>>> main('57799191')
'0xeef217'

>>> main('55456404')
'0x3693294'

>>> main('61716908')
'0x2f5b9ac'

>>> main('63639019')
'0x1f90deb'

Вариант №20

Задача №8

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

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

Целое.

0 5 6 13 14 20 21 26 S2 S3 S4

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

Целое.

0 5 6 12 13 20 21 26 S3 S2 S4

Тесты:

>>> main(78773317)
79573440

>>> main(68798801)
67418560

>>> main(47469547)
46789696

>>> main(39944891)
39928192

Вариант №21

Задача №8

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

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

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

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

Целое.
0 4 5 11 12 17 18 19 27 B1 B2 B4 B5

Тесты:

>>> main(('0xd', '0x1a', '0x0', '0x1bf'))
234357581

>>> main(('0x13', '0x7f', '0x1', '0x179'))
197922803

>>> main(('0x5', '0x7b', '0x0', '0xb2'))
93327205

>>> main(('0x0', '0x14', '0x1', '0x91'))
76284544

Вариант №22

Задача №8

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

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

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

0 2 3 9 10 13 14 18 G1 G2 G4

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

Целое.

0 6 7 11 12 14 15 18 G2 G4 G1

Тесты:

>>> main('220175')
30337

>>> main('7266')
8204

>>> main('86814')
25315

>>> main('467770')
11879

Вариант №23

Задача №8

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

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

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

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

Целое.
0 8 9 16 B1 B2 17 18 22 23 32 33 B3 B4 B6

Тесты:

>>> main([('B1', 136), ('B2', 203), ('B3', 1), ('B4', 31), ('B6', 1)])
8598296200

>>> main([('B1', 220), ('B2', 28), ('B3', 1), ('B4', 16), ('B6', 1)])
8594274524

>>> main([('B1', 481), ('B2', 0), ('B3', 0), ('B4', 28), ('B6', 1)])
8597275105

>>> main([('B1', 351), ('B2', 80), ('B3', 0), ('B4', 21), ('B6', 0)])
5546335

Вариант №24

Задача №8

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

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

Десятичная строка.
0 1 8 9 11 12 19 B1 B2 B3 B4

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

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

Тесты:

>>> main('300503')
('0x1', '0xeb', '0x2', '0x49')

>>> main('923852')
('0x0', '0x66', '0x4', '0xe1')

>>> main('535465')
('0x1', '0xd4', '0x5', '0x82')

>>> main('869118')
('0x0', '0x7f', '0x1', '0xd4')

Вариант №25

Задача №8

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

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

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

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

Целое.
0 5 6 13 14 17 18 19 N1 N2 N4 N5

Тесты:

>>> main([('N1', '27'), ('N2', '89'), ('N4', '1'), ('N5', '1')])
792155

>>> main([('N1', '35'), ('N2', '175'), ('N4', '0'), ('N5', '1')])
535523

>>> main([('N1', '57'), ('N2', '2'), ('N4', '0'), ('N5', '1')])
524473

>>> main([('N1', '17'), ('N2', '211'), ('N4', '1'), ('N5', '0')])
275665

Вариант №26

Задача №8

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

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

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

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

Десятичная строка.
0 1 2 7 8 10 X1 X2 X3 X4

Тесты:

>>> main([('X1', 0), ('X2', 0), ('X3', 15), ('X4', 3)])
'828'

>>> main([('X1', 0), ('X2', 1), ('X3', 0), ('X4', 4)])
'1026'

>>> main([('X1', 0), ('X2', 0), ('X3', 12), ('X4', 3)])
'816'

>>> main([('X1', 1), ('X2', 0), ('X3', 62), ('X4', 3)])
'1017'

Вариант №27

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 1 2 8 9 16 Y2 Y3 17 24 25 26 32 Y4 Y5 Y6

Тесты:

>>> main([('Y2', '0x6a'), ('Y3', '0x3c'), ('Y4', '0x6c'), ('Y5', '0x1'), ('Y6', '0x4b')])
'0x12ed879a8'

>>> main([('Y2', '0x74'), ('Y3', '0x34'), ('Y4', '0x5'), ('Y5', '0x0'), ('Y6', '0x12')])
'0x480a69d0'

>>> main([('Y2', '0x1e'), ('Y3', '0x96'), ('Y4', '0xe8'), ('Y5', '0x1'), ('Y6', '0x7f')])
'0x1ffd12c78'

>>> main([('Y2', '0x7'), ('Y3', '0xe9'), ('Y4', '0xd1'), ('Y5', '0x0'), ('Y6', '0x7a')])
'0x1e9a3d21c'

Вариант №28

Задача №8

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

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

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

0 2 3 7 8 11 12 17 18 24 25 30 D1 D2 D3 D4 D6

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

Целое.

0 5 6 10 11 13 14 19 20 26 27 30 D6 D2 D1 D4 D3

Тесты:

>>> main('964454867')
1208065692

>>> main('114988899')
940202755

>>> main('2140362889')
1074613375

>>> main('1437442312')
134643818

Вариант №29

Задача №8

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

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

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

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

Целое.
0 6 7 16 17 18 19 P1 P2 P3 P4

Тесты:

>>> main((77, 1004, 1, 0))
259661

>>> main((78, 621, 0, 0))
79566

>>> main((52, 652, 1, 1))
738868

>>> main((16, 494, 0, 0))
63248

Вариант №30

Задача №8

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

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

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

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

Целое.
0 1 2 4 5 12 13 16 K1 K2 K4 K5

Тесты:

>>> main({'K1': '1', 'K2': '1', 'K4': '107', 'K5': '5'})
44387

>>> main({'K1': '0', 'K2': '0', 'K4': '202', 'K5': '8'})
72000

>>> main({'K1': '1', 'K2': '0', 'K4': '25', 'K5': '4'})
33569

>>> main({'K1': '0', 'K2': '0', 'K4': '60', 'K5': '0'})
1920

Вариант №31

Задача №8

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

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

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

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

Целое.
0 1 2 9 10 13 14 P2 P3 P4

Тесты:

>>> main(('162', '13', '0'))
13960

>>> main(('223', '6', '0'))
7036

>>> main(('24', '14', '0'))
14432

>>> main(('20', '7', '0'))
7248

Вариант №32

Задача №8

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

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

Целое.
0 5 6 8 9 14 15 19 Q1 Q2 Q3 Q4

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

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

Тесты:

>>> main(756772)
{'Q1': '0x24', 'Q2': '0x0', 'Q3': '0x6', 'Q4': '0x17'}

>>> main(21946)
{'Q1': '0x3a', 'Q2': '0x6', 'Q3': '0x2a', 'Q4': '0x0'}

>>> main(465765)
{'Q1': '0x25', 'Q2': '0x5', 'Q3': '0xd', 'Q4': '0xe'}

>>> main(751712)
{'Q1': '0x20', 'Q2': '0x1', 'Q3': '0x3c', 'Q4': '0x16'}

Вариант №33

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 6 7 8 9 10 11 13 14 22 O1 O2 O3 O4 O5

Тесты:

>>> main({'O1': 109, 'O2': 1, 'O3': 0, 'O4': 1, 'O5': 324})
'0x5108ed'

>>> main({'O1': 87, 'O2': 1, 'O3': 2, 'O4': 7, 'O5': 303})
'0x4bfcd7'

>>> main({'O1': 41, 'O2': 2, 'O3': 3, 'O4': 4, 'O5': 238})
'0x3ba729'

>>> main({'O1': 104, 'O2': 3, 'O3': 1, 'O4': 2, 'O5': 237})
'0x3b53e8'

Вариант №34

Задача №8

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

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

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

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

Десятичная строка.
0 3 4 8 9 16 B1 B3 17 19 20 26 27 33 B4 B5 B6

Тесты:

>>> main(('9', '56', '4', '53', '95'))
'12806811657'

>>> main(('10', '167', '0', '32', '44'))
'5939219978'

>>> main(('8', '204', '7', '54', '69'))
'9318668296'

>>> main(('2', '134', '2', '84', '86'))
'11631135746'

Вариант №35

Задача №8

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

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

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

0 1 2 4 5 6 9 10 16 17 19 Q1 Q2 Q4 Q5 Q6

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

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

0 2 3 6 7 8 9 10 16 17 19 Q6 Q4 Q1 Q5 Q2

Тесты:

>>> main('557962')
'295540'

>>> main('818263')
'687886'

>>> main('866179')
'79734'

>>> main('348632')
'872506'

Вариант №36

Задача №8

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

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

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

0 4 5 11 12 18 19 23 V1 V2 V3

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

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

0 4 5 11 12 18 19 23 V2 V3 V1

Тесты:

>>> main('332490')
'5575360'

>>> main('102796')
'6394240'

>>> main('242492')
'14922528'

>>> main('212773')
'2834208'

Вариант №37

Задача №8

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

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

Целое.
0 7 8 16 17 22 23 24 25 27 Q1 Q3 Q4 Q5

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

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

Тесты:

>>> main(108903977)
('0x29', '0x3e', '0x0', '0x3')

>>> main(24265760)
('0x20', '0x39', '0x2', '0x0')

>>> main(221725897)
('0xc9', '0x1b', '0x2', '0x6')

>>> main(233942993)
('0xd1', '0x38', '0x3', '0x6')

Вариант №38

Задача №8

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

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

Целое.

0 2 3 12 13 16 17 20 21 30 Q1 Q2 Q3 Q4 Q5

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

Целое.

0 2 3 12 13 16 17 20 21 30 Q1 Q2 Q4 Q3 Q5

Тесты:

>>> main(388967013)
389212773

>>> main(1008069779)
1008684179

>>> main(565723105)
564371425

>>> main(1506278838)
1507753398

Вариант №39

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 4 5 7 8 12 13 18 19 26 U1 U3 U4 U5

Тесты:

>>> main({'U1': '18', 'U3': '5', 'U4': '20', 'U5': '16'})
'0x828512'

>>> main({'U1': '2', 'U3': '24', 'U4': '30', 'U5': '56'})
'0x1c3d802'

>>> main({'U1': '0', 'U3': '8', 'U4': '10', 'U5': '161'})
'0x5094800'

>>> main({'U1': '11', 'U3': '23', 'U4': '47', 'U5': '17'})
'0x8df70b'

Вариант №40

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 8 9 15 16 22 23 24 26 L1 L2 L3 L4 L5

Тесты:

>>> main([('L1', 441), ('L2', 17), ('L3', 73), ('L4', 0), ('L5', 4)])
'0x44923b9'

>>> main([('L1', 463), ('L2', 20), ('L3', 114), ('L4', 1), ('L5', 6)])
'0x6f229cf'

>>> main([('L1', 479), ('L2', 121), ('L3', 21), ('L4', 1), ('L5', 1)])
'0x195f3df'

>>> main([('L1', 409), ('L2', 6), ('L3', 41), ('L4', 0), ('L5', 1)])
'0x1290d99'