ИКБО-02-22

Вариант №1

Задача №8

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

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

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

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

Десятичная строка.
0 4 5 14 15 19 X1 X2 X3 20 22 23 29 30 39 X3 X5

Тесты:

>>> main(('0x1c', '0x36b', '0xf4', '0x1d3'))
'501445455228'

>>> main(('0x13', '0x250', '0xa9', '0x2b3'))
'741961157139'

>>> main(('0x1', '0x2d6', '0xe1', '0x33d'))
'890139368129'

>>> main(('0xc', '0x2cb', '0x13', '0x1d9'))
'507880528236'

Вариант №2

Задача №8

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

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

Целое.
0 7 8 16 17 19 O1 O2 O3 20 24 25 30 31 38 O3 O4 O5

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

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

Тесты:

>>> main(414564845503)
[('O1', '0xbf'), ('O2', '0x187'), ('O3', '0xfe'), ('O4', '0x2'), ('O5', '0xc1')]

>>> main(494035160659)
[('O1', '0x53'), ('O2', '0x4e'), ('O3', '0x65'), ('O4', '0x3'), ('O5', '0xe6')]

>>> main(416812946736)
[('O1', '0x30'), ('O2', '0xd5'), ('O3', '0xfe'), ('O4', '0x5'), ('O5', '0xc2')]

>>> main(521899718630)
[('O1', '0xe6'), ('O2', '0x1b7'), ('O3', '0xd2'), ('O4', '0x1'), ('O5', '0xf3')]

Вариант №3

Задача №8

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

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

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

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

Целое.
0 8 9 16 17 18 20 L2 L3 L4

Тесты:

>>> main(('0x9a', '0x0', '0x2'))
603136

>>> main(('0x7d', '0x1', '0x6'))
1767936

>>> main(('0xec', '0x0', '0x7'))
1955840

>>> main(('0xff', '0x0', '0x3'))
916992

Вариант №4

Задача №8

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

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

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

0 6 7 12 13 21 22 26 S1 S2 S4

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

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

0 8 9 15 16 21 22 26 S1 S2 S4

Тесты:

>>> main('76790651')
'79099392'

>>> main('2901902')
'990208'

>>> main('23802653')
'23476736'

>>> main('22245108')
'22931456'

Вариант №5

Задача №8

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

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

Целое.

0 1 2 10 11 16 17 24 X1 X2 X4

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

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

0 7 8 13 14 15 16 24 X4 X1 X2

Тесты:

>>> main(3790751)
'31965212'

>>> main(19830536)
'29491351'

>>> main(9746418)
'33325130'

>>> main(3820232)
'11665437'

Вариант №6

Задача №8

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

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

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

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

Целое.
0 8 9 16 17 18 L1 L2 L3 19 22 23 30 31 36 37 L3 L5 L6

Тесты:

>>> main(('10', '209', '16', '55', '0'))
118113804810

>>> main(('186', '66', '37', '52', '0'))
111674033338

>>> main(('440', '228', '1', '7', '1'))
152471587256

>>> main(('115', '222', '52', '12', '0'))
25776733299

Вариант №7

Задача №8

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

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

Целое.
0 2 3 7 8 9 10 15 16 17 18 23 T1 T2 T3 T4 T5 T6

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

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

Тесты:

>>> main(2978086)
[('T1', '6'), ('T2', '4'), ('T3', '1'), ('T4', '28'), ('T5', '1'), ('T6', '11')]

>>> main(6369502)
[('T1', '6'), ('T2', '27'), ('T3', '0'), ('T4', '12'), ('T5', '1'), ('T6', '24')]

>>> main(2960516)
[('T1', '4'), ('T2', '16'), ('T3', '0'), ('T4', '11'), ('T5', '1'), ('T6', '11')]

>>> main(9448421)
[('T1', '5'), ('T2', '28'), ('T3', '3'), ('T4', '10'), ('T5', '0'), ('T6', '36')]

Вариант №8

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 1 2 7 8 9 10 18 19 V1 V2 V3 V4 V5

Тесты:

>>> main(('2', '39', '0', '115', '1'))
'0x9cc9e'

>>> main(('2', '27', '2', '197', '1'))
'0xb166e'

>>> main(('3', '10', '1', '368', '1'))
'0xdc12b'

>>> main(('0', '26', '3', '47', '1'))
'0x8bf68'

Вариант №9

Задача №8

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

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

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

0 6 7 11 12 18 P1 P2 P3 19 20 21 29 30 36 P3 P4 P5

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

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

0 8 9 17 18 P3 P4 P5 19 24 25 29 30 36 P5 P2 P1

Тесты:

>>> main('0x1efa732a61')
'0x1869efa732'

>>> main('0x3ed6b9c9c')
'0x7323ed6b9'

>>> main('0x1c6f1684da')
'0x1693c6f168'

>>> main('0xf7cb132a0')
'0x80af7cb13'

Вариант №10

Задача №8

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

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

Целое.
0 6 7 12 13 21 22 25 A1 A2 A3 A4

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

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

Тесты:

>>> main(20315843)
[('A1', '67'), ('A2', '61'), ('A3', '431'), ('A4', '4')]

>>> main(45609748)
[('A1', '20'), ('A2', '38'), ('A3', '447'), ('A4', '10')]

>>> main(51443234)
[('A1', '34'), ('A2', '44'), ('A3', '135'), ('A4', '12')]

>>> main(66851983)
[('A1', '15'), ('A2', '41'), ('A3', '480'), ('A4', '15')]

Вариант №11

Задача №8

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

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

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

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

Целое.
0 5 6 9 10 18 19 27 R1 R2 R3 R4

Тесты:

>>> main({'R1': '21', 'R2': '13', 'R3': '131', 'R4': '104'})
54660949

>>> main({'R1': '8', 'R2': '6', 'R3': '457', 'R4': '326'})
171386248

>>> main({'R1': '19', 'R2': '4', 'R3': '240', 'R4': '407'})
213631251

>>> main({'R1': '25', 'R2': '11', 'R3': '254', 'R4': '448'})
235141849

Вариант №12

Задача №8

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

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

Целое.

0 4 5 6 7 10 11 16 17 25 26 28 X1 X2 X3 X5 X6

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

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

0 5 6 10 11 12 13 15 16 24 25 28 X1 X2 X6 X5 X3

Тесты:

>>> main(450251142)
'124502400'

>>> main(332277009)
'367494208'

>>> main(90648103)
'414394816'

>>> main(340435900)
'237350656'

Вариант №13

Задача №8

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

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

Шестнадцатиричная строка.
0 9 10 11 12 21 22 24 O1 O2 O3 O4 25 29 30 38 39 48 O4 O5 O6

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

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

Тесты:

>>> main('0x13396e3871fcd')
(973, 3, 113, 142, 91, 615)

>>> main('0x62b9c437d5e8')
(488, 1, 893, 16, 231, 197)

>>> main('0x48133e4663e3')
(995, 0, 102, 249, 76, 144)

>>> main('0x14a13dce33e4c')
(588, 3, 563, 115, 79, 660)

Вариант №14

Задача №8

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

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

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

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

Десятичная строка.
0 5 6 12 13 17 18 20 21 23 24 26 U1 U3 U4 U5 U6

Тесты:

>>> main({'U1': '35', 'U3': '16', 'U4': '6', 'U5': '7', 'U6': '6'})
'117047331'

>>> main({'U1': '20', 'U3': '13', 'U4': '5', 'U5': '1', 'U6': '5'})
'87400468'

>>> main({'U1': '12', 'U3': '5', 'U4': '3', 'U5': '7', 'U6': '2'})
'49061900'

>>> main({'U1': '54', 'U3': '13', 'U4': '3', 'U5': '6', 'U6': '4'})
'80584758'

Вариант №15

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 9 10 11 12 17 18 23 X2 X3 X4

Тесты:

>>> main({'X2': 0, 'X3': 22, 'X4': 55})
'0xdd6000'

>>> main({'X2': 2, 'X3': 61, 'X4': 57})
'0xe7d800'

>>> main({'X2': 0, 'X3': 50, 'X4': 12})
'0x332000'

>>> main({'X2': 2, 'X3': 7, 'X4': 61})
'0xf47800'

Вариант №16

Задача №8

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

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

Целое.

0 4 5 6 11 12 17 18 20 21 24 K1 K2 K3 K5 K6

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

Целое.

0 4 5 10 11 13 14 19 20 23 24 K1 K3 K5 K6 K2

Тесты:

>>> main(22137621)
10495381

>>> main(3428346)
17838074

>>> main(23682585)
11540249

>>> main(15606895)
24123951

Вариант №17

Задача №8

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

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

Шестнадцатиричная строка.
0 9 10 11 17 18 22 O1 O2 O3 O4

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

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

Тесты:

>>> main('0x111fd5')
{'O1': 981, 'O2': 1, 'O3': 35, 'O4': 4}

>>> main('0x377927')
{'O1': 295, 'O2': 0, 'O3': 111, 'O4': 13}

>>> main('0x66504f')
{'O1': 79, 'O2': 0, 'O3': 74, 'O4': 25}

>>> main('0x15ab46')
{'O1': 838, 'O2': 0, 'O3': 53, 'O4': 5}

Вариант №18

Задача №8

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

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

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

0 5 6 7 8 17 18 19 D1 D2 D3 D4

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

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

0 1 2 7 8 9 10 19 D2 D1 D4 D3

Тесты:

>>> main('1008887')
'0xd93df'

>>> main('504564')
'0xec9d3'

>>> main('60304')
'0x3ac42'

>>> main('87856')
'0x55cc0'

Вариант №19

Задача №8

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

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

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

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

Десятичная строка.
0 4 5 13 14 16 17 19 20 28 W1 W2 W3 W4

Тесты:

>>> main((28, 440, 4, 4))
'603932'

>>> main((17, 198, 5, 0))
'88273'

>>> main((14, 123, 7, 1))
'249710'

>>> main((6, 66, 0, 5))
'657478'

Вариант №20

Задача №8

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

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

Целое.

0 5 6 8 9 10 19 20 26 U1 U3 U4 U5

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

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

0 1 7 8 17 18 20 21 26 U3 U5 U4 U1

Тесты:

>>> main(20883825)
'0x623aa26'

>>> main(102016493)
'0x5a129c2'

>>> main(50715751)
'0x4e17760'

>>> main(110748498)
'0x24278d3'

Вариант №21

Задача №8

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

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

Целое.

0 8 9 17 18 20 J1 J2 21 22 31 32 33 40 J4 J5 J6

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

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

0 9 10 18 19 20 J4 J1 21 22 23 24 32 33 40 J5 J2 J6

Тесты:

>>> main(31162441915)
'28194303237'

>>> main(1100609220075)
'1107934293253'

>>> main(1942599281439)
'1942751575343'

>>> main(245452111369)
'244804756632'

Вариант №22

Задача №8

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

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

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

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

Целое.
0 7 8 9 16 17 19 20 L1 L2 L3 L4 L5

Тесты:

>>> main({'L1': '45', 'L2': '1', 'L3': '16', 'L4': '6', 'L5': '0'})
794925

>>> main({'L1': '118', 'L2': '0', 'L3': '116', 'L4': '7', 'L5': '1'})
2025590

>>> main({'L1': '238', 'L2': '1', 'L3': '133', 'L4': '2', 'L5': '0'})
330734

>>> main({'L1': '7', 'L2': '0', 'L3': '231', 'L4': '5', 'L5': '0'})
773639

Вариант №23

Задача №8

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

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

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

0 3 4 13 14 20 21 27 Y1 Y2 Y3 Y4

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

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

0 6 7 16 17 20 21 27 Y4 Y2 Y1 Y3

Тесты:

>>> main('0x75b357f')
'228567994'

>>> main('0xa70054d')
'135932499'

>>> main('0x21210')
'16814208'

>>> main('0xc1dd636')
'250393056'

Вариант №24

Задача №8

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

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

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

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

Десятичная строка.
0 4 5 6 7 12 13 22 23 29 J1 J2 J3 J4 J5

Тесты:

>>> main({'J1': '4', 'J2': '0', 'J3': '47', 'J4': '715', 'J5': '2'})
'22640516'

>>> main({'J1': '9', 'J2': '1', 'J3': '27', 'J4': '187', 'J5': '63'})
'530017705'

>>> main({'J1': '3', 'J2': '3', 'J3': '44', 'J4': '328', 'J5': '88'})
'740890211'

>>> main({'J1': '24', 'J2': '0', 'J3': '17', 'J4': '990', 'J5': '73'})
'620480664'

Вариант №25

Задача №8

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

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

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

0 8 9 18 19 20 S1 S3 21 22 31 32 40 S3 S4 S5

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

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

0 9 10 19 20 S4 S5 21 28 29 37 38 40 S5 S1 S3

Тесты:

>>> main('798690347243')
'1225871284224'

>>> main('166768695497')
'1757219209216'

>>> main('1266237851517')
'1579246491648'

>>> main('1339699290505')
'486195250176'

Вариант №26

Задача №8

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

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

Десятичная строка.
0 5 6 11 12 18 19 B1 B2 B3 B4

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

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

Тесты:

>>> main('1007883')
('11', '4', '118', '1')

>>> main('134675')
('19', '56', '32', '0')

>>> main('629463')
('23', '43', '25', '1')

>>> main('800889')
('57', '33', '67', '1')

Вариант №27

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 6 7 12 13 17 18 24 25 26 28 B1 B2 B3 B4 B5

Тесты:

>>> main({'B1': '0x40', 'B2': '0x24', 'B3': '0x5', 'B4': '0x60', 'B5': '0x1'})
'0x380b240'

>>> main({'B1': '0x16', 'B2': '0x2c', 'B3': '0xa', 'B4': '0x66', 'B5': '0x1'})
'0x3995616'

>>> main({'B1': '0x41', 'B2': '0x5', 'B3': '0x15', 'B4': '0x1b', 'B5': '0x1'})
'0x26ea2c1'

>>> main({'B1': '0x21', 'B2': '0x19', 'B3': '0x5', 'B4': '0x4a', 'B5': '0x0'})
'0x128aca1'

Вариант №28

Задача №8

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

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

Шестнадцатиричная строка.
0 9 10 11 18 19 20 21 24 T2 T3 T4 T5

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

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

Тесты:

>>> main('0xbc2722')
('0x1', '0x84', '0x3', '0x5')

>>> main('0x103d09e')
('0x0', '0x7a', '0x0', '0x8')

>>> main('0x1405ff1')
('0x1', '0xb', '0x0', '0xa')

>>> main('0x1fab5')
('0x0', '0x3f', '0x0', '0x0')

Вариант №29

Задача №8

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

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

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

0 9 10 13 14 15 16 18 19 20 V1 V2 V4 V5

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

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

0 1 2 3 4 13 14 16 17 20 V5 V1 V4 V2

Тесты:

>>> main('0xa0fe2')
'0x6be24'

>>> main('0x13d0b6')
'0x8cb68'

>>> main('0x1355e7')
'0xade78'

>>> main('0x1d9a6f')
'0xd66fc'

Вариант №30

Задача №8

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

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

Целое.

0 9 10 15 Z1 Z2 16 19 20 22 23 31 Z2 Z3 Z4

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

Целое.

0 2 3 12 13 15 Z3 Z1 Z4 16 21 22 31 Z4 Z2

Тесты:

>>> main(4129202635)
3929902681

>>> main(1559178774)
4074188982

>>> main(2803433537)
2418655753

>>> main(2767598805)
1667835567

Вариант №31

Задача №8

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

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

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

0 9 10 16 Q1 Q2 17 19 20 25 26 30 31 32 Q2 Q3 Q4

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

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

0 5 6 10 11 12 13 16 Q3 Q4 Q2 17 22 23 32 Q2 Q1

Тесты:

>>> main('1867524437')
'0xaa8146f5'

>>> main('1017452882')
'0xa928c3ca'

>>> main('173765180')
'0x11e5b80a5'

>>> main('1136238632')
'0x144d043b'

Вариант №32

Задача №8

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

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

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

0 9 10 11 20 21 30 R1 R3 R4

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

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

0 9 10 19 20 29 30 R1 R4 R3

Тесты:

>>> main('0x67bdee2e')
'1004336686'

>>> main('0x29b47dae')
'687158702'

>>> main('0x6598f341')
'837595969'

>>> main('0x5c227a66')
'83592806'

Вариант №33

Задача №8

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

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

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

0 8 9 10 11 12 19 D1 D2 D3

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

Целое.

0 8 9 10 17 18 19 D1 D3 D2

Тесты:

>>> main('2566')
262662

>>> main('1752')
786648

>>> main('404')
404

>>> main('3265')
524993

Вариант №34

Задача №8

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

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

Целое.
0 4 5 12 13 22 23 O1 O2 O3 O4 24 26 27 36 37 46 O4 O5

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

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

Тесты:

>>> main(12956000712)
[('O1', 8), ('O2', 14), ('O3', 487), ('O4', 8), ('O5', 96)]

>>> main(113530385441)
[('O1', 1), ('O2', 161), ('O3', 897), ('O4', 13), ('O5', 845)]

>>> main(113027556739)
[('O1', 3), ('O2', 44), ('O3', 957), ('O4', 1), ('O5', 842)]

>>> main(52128125223)
[('O1', 7), ('O2', 137), ('O3', 160), ('O4', 6), ('O5', 388)]

Вариант №35

Задача №8

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

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

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

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

Целое.
0 7 8 11 12 17 18 19 D1 D2 D3 D4 20 22 23 29 30 39 D4 D5 D6

Тесты:

>>> main([('D1', '0x47'), ('D2', '0xd'), ('D3', '0xa'), ('D4', '0xc'), ('D5', '0x32'), ('D6', '0x372')])
947462909255

>>> main([('D1', '0x87'), ('D2', '0x1'), ('D3', '0x2e'), ('D4', '0x14'), ('D5', '0x31'), ('D6', '0x62')])
105643172231

>>> main([('D1', '0x1f'), ('D2', '0xa'), ('D3', '0x39'), ('D4', '0x8'), ('D5', '0x22'), ('D6', '0x3e4')])
1069734402591

>>> main([('D1', '0x60'), ('D2', '0xe'), ('D3', '0x7'), ('D4', '0x8'), ('D5', '0x13'), ('D6', '0x1f3')])
535958683232

Вариант №36

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 9 10 11 12 13 14 15 16 24 S1 S2 S3 S4 S5

Тесты:

>>> main([('S1', '747'), ('S2', '3'), ('S3', '3'), ('S4', '0'), ('S5', '116')])
'0x743eeb'

>>> main([('S1', '629'), ('S2', '1'), ('S3', '2'), ('S4', '2'), ('S5', '249')])
'0xf9a675'

>>> main([('S1', '265'), ('S2', '1'), ('S3', '3'), ('S4', '0'), ('S5', '17')])
'0x113509'

>>> main([('S1', '82'), ('S2', '3'), ('S3', '2'), ('S4', '1'), ('S5', '56')])
'0x386c52'

Вариант №37

Задача №8

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

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

Целое.

0 8 9 12 13 17 18 N1 N2 N4

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

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

0 3 4 5 9 10 18 N2 N4 N1

Тесты:

>>> main(398278)
'0x71819'

>>> main(415046)
'0x5181a'

>>> main(76351)
'0xfc05'

>>> main(1432)
'0x66002'

Вариант №38

Задача №8

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

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

Целое.
0 9 10 11 12 21 22 28 Q1 Q2 Q3 Q4

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

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

Тесты:

>>> main(471554762)
('0x2ca', '0x2', '0x1b5', '0x70')

>>> main(87005079)
('0x397', '0x1', '0x2f9', '0x14')

>>> main(61084674)
('0x2', '0x1', '0x241', '0xe')

>>> main(61230039)
('0x3d7', '0x2', '0x264', '0xe')

Вариант №39

Задача №8

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

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

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

0 5 6 9 10 16 V1 V2 V3 17 18 19 24 25 33 V4 V5 V6

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

Целое.

0 6 7 8 9 14 15 16 V3 V4 V1 V6 17 23 24 27 28 33 V6 V2 V5

Тесты:

>>> main('0x204899084')
4605413476

>>> main('0x29a0a4b42')
497452178

>>> main('0xb33dcfae')
10706804083

>>> main('0x113952b61')
13644383050

Вариант №40

Задача №8

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

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

Десятичная строка.
0 7 8 10 11 16 Q1 Q2 Q3 17 18 19 24 25 26 27 32 Q3 Q4 Q5 Q6

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

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

Тесты:

>>> main('909767587')
('163', '3', '62', '7', '3', '6')

>>> main('7842356188')
('220', '3', '27', '46', '1', '58')

>>> main('1703310386')
('50', '4', '206', '48', '2', '12')

>>> main('7404879950')
('78', '0', '176', '43', '0', '55')