ИНБО-03-22

Вариант №1

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 4 5 6 10 11 18 19 28 29 30 R1 R2 R3 R4 R6

Тесты:

>>> main([('R1', 5), ('R2', 1), ('R3', 1), ('R4', 160), ('R6', 0)])
'0x50065'

>>> main([('R1', 5), ('R2', 0), ('R3', 18), ('R4', 161), ('R6', 0)])
'0x50c85'

>>> main([('R1', 25), ('R2', 1), ('R3', 29), ('R4', 195), ('R6', 1)])
'0x20061f79'

>>> main([('R1', 16), ('R2', 1), ('R3', 27), ('R4', 220), ('R6', 2)])
'0x4006e6f0'

Вариант №2

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 4 5 9 10 15 16 17 18 23 D2 D3 D4 D5

Тесты:

>>> main({'D2': 3, 'D3': 48, 'D4': 3, 'D5': 45})
'0xb7c060'

>>> main({'D2': 20, 'D3': 12, 'D4': 2, 'D5': 21})
'0x563280'

>>> main({'D2': 22, 'D3': 9, 'D4': 3, 'D5': 20})
'0x5326c0'

>>> main({'D2': 21, 'D3': 24, 'D4': 0, 'D5': 25})
'0x6462a0'

Вариант №3

Задача №8

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

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

Целое.

0 1 6 7 14 15 24 25 30 G1 G2 G3 G4 G5

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

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

0 7 8 9 14 15 20 21 30 G3 G1 G2 G5 G4

Тесты:

>>> main(1831896375)
'0x4c3b370a'

>>> main(1190905433)
'0x3ef1d98c'

>>> main(1242783885)
'0x4d28dc1'

>>> main(1487124174)
'0x28f64e6d'

Вариант №4

Задача №8

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

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

Шестнадцатиричная строка.
0 5 6 8 9 11 12 17 C1 C2 C3 C4

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

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

Тесты:

>>> main('0x2381b')
[('C1', 27), ('C2', 0), ('C3', 4), ('C4', 35)]

>>> main('0x36760')
[('C1', 32), ('C2', 5), ('C3', 3), ('C4', 54)]

>>> main('0x80f2')
[('C1', 50), ('C2', 3), ('C3', 0), ('C4', 8)]

>>> main('0x5c56')
[('C1', 22), ('C2', 1), ('C3', 6), ('C4', 5)]

Вариант №5

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 8 9 18 19 20 P1 P2 P3 21 22 30 31 38 39 40 P3 P4 P5 P6

Тесты:

>>> main({'P1': '467', 'P2': '100', 'P3': '7', 'P4': '365', 'P5': '149', 'P6': '0'})
'0x4adb78c9d3'

>>> main({'P1': '216', 'P2': '864', 'P3': '1', 'P4': '430', 'P5': '183', 'P6': '2'})
'0x15beb8ec0d8'

>>> main({'P1': '455', 'P2': '625', 'P3': '1', 'P4': '120', 'P5': '111', 'P6': '0'})
'0x379e0ce3c7'

>>> main({'P1': '101', 'P2': '64', 'P3': '6', 'P4': '292', 'P5': '213', 'P6': '3'})
'0x1eac9308065'

Вариант №6

Задача №8

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

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

Целое.

0 1 4 5 11 12 14 X1 X2 X4

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

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

0 1 7 8 11 12 14 X1 X2 X4

Тесты:

>>> main(1703)
'769'

>>> main(3196)
'3584'

>>> main(16993)
'16385'

>>> main(14867)
'14593'

Вариант №7

Задача №8

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

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

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

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

Десятичная строка.
0 9 10 16 M2 17 18 22 23 31 32 M2 M3 M4 M5

Тесты:

>>> main(('0xe4', '0x12', '0x1d4', '0x1'))
'8225787904'

>>> main(('0xc0', '0x1c', '0xf3', '0x1'))
'6340935680'

>>> main(('0x28', '0x7', '0xed', '0x0'))
'1989976064'

>>> main(('0xa8', '0x7', '0xd6', '0x1'))
'6092136448'

Вариант №8

Задача №8

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

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

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

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

Целое.
0 1 2 3 4 11 12 14 15 19 A1 A2 A4 A5

Тесты:

>>> main([('A1', '2'), ('A2', '2'), ('A4', '7'), ('A5', '6')])
225290

>>> main([('A1', '2'), ('A2', '2'), ('A4', '5'), ('A5', '14')])
479242

>>> main([('A1', '2'), ('A2', '1'), ('A4', '3'), ('A5', '11')])
372742

>>> main([('A1', '2'), ('A2', '2'), ('A4', '2'), ('A5', '0')])
8202

Вариант №9

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 7 8 11 12 17 18 24 U1 U2 U3 U4

Тесты:

>>> main(('0x14', '0x9', '0xa', '0x1d'))
'0x74a914'

>>> main(('0x3b', '0xd', '0x21', '0x53'))
'0x14e1d3b'

>>> main(('0x2b', '0xc', '0x26', '0x1e'))
'0x7a6c2b'

>>> main(('0x7', '0x3', '0x36', '0x5a'))
'0x16b6307'

Вариант №10

Задача №8

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

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

Десятичная строка.
0 9 10 11 12 17 J1 J2 J3 18 21 22 24 25 34 J3 J4 J5

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

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

Тесты:

>>> main('6976636901')
[('J1', '0x3e5'), ('J2', '0x1'), ('J3', '0x170'), ('J4', '0x7'), ('J5', '0xcf')]

>>> main('418890794')
[('J1', '0x2a'), ('J2', '0x1'), ('J3', '0x37c'), ('J4', '0x3'), ('J5', '0xc')]

>>> main('4107217344')
[('J1', '0x1c0'), ('J2', '0x2'), ('J3', '0xf2'), ('J4', '0x3'), ('J5', '0x7a')]

>>> main('11840184130')
[('J1', '0x342'), ('J2', '0x3'), ('J3', '0x3ad'), ('J4', '0x6'), ('J5', '0x160')]

Вариант №11

Задача №8

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

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

Шестнадцатиричная строка.
0 8 9 16 Y1 Y2 17 18 19 27 28 29 30 33 Y2 Y3 Y4 Y5

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

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

Тесты:

>>> main('0x343f949fb')
[('Y1', '0x1fb'), ('Y2', '0xa4'), ('Y3', '0x7f'), ('Y4', '0x0'), ('Y5', '0xd')]

>>> main('0x892b9110')
[('Y1', '0x110'), ('Y2', '0x1c8'), ('Y3', '0x125'), ('Y4', '0x0'), ('Y5', '0x2')]

>>> main('0x31b2ebfb5')
[('Y1', '0x1b5'), ('Y2', '0x35f'), ('Y3', '0x165'), ('Y4', '0x1'), ('Y5', '0xc')]

>>> main('0x3b3f1a8c9')
[('Y1', '0xc9'), ('Y2', '0xd4'), ('Y3', '0x7e'), ('Y4', '0x3'), ('Y5', '0xe')]

Вариант №12

Задача №8

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

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

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

0 9 10 13 14 15 21 22 27 Q1 Q2 Q3 Q5

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

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

0 9 10 16 17 22 23 26 27 Q1 Q5 Q2 Q3

Тесты:

>>> main('0x4ff0d59')
'27656537'

>>> main('0x4e931db')
'103154139'

>>> main('0x4646b26')
'220332838'

>>> main('0x21884d2')
'9437394'

Вариант №13

Задача №8

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

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

Целое.

0 3 4 5 6 10 11 16 B1 B3 B4

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

Целое.

0 5 6 7 8 12 13 16 B4 B3 B1

Тесты:

>>> main(99329)
12336

>>> main(80941)
110631

>>> main(53457)
8986

>>> main(49499)
91416

Вариант №14

Задача №8

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

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

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

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

Десятичная строка.
0 9 10 14 15 17 18 V1 V2 V3 V4 19 27 28 36 V4 V5

Тесты:

>>> main(('0x161', '0x9', '0x4', '0xac', '0x31'))
'13198566753'

>>> main(('0x97', '0x12', '0x5', '0x32b', '0x10d'))
'72421918871'

>>> main(('0x20d', '0x8', '0x7', '0x59', '0xef'))
'64179642893'

>>> main(('0x1f5', '0x1a', '0x6', '0x37a', '0x1af'))
'115929213429'

Вариант №15

Задача №8

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

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

Целое.

0 1 2 5 6 9 10 13 B1 B2 B3

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

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

0 1 2 5 6 9 10 13 B1 B2 B3

Тесты:

>>> main(254)
'0xfc2'

>>> main(842)
'0x3482'

>>> main(266)
'0x1082'

>>> main(8)
'0x80'

Вариант №16

Задача №8

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

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

Целое.

0 6 7 16 17 18 19 20 23 S1 S3 S4 S5

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

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

0 9 10 11 14 15 21 22 23 S3 S5 S1 S4

Тесты:

>>> main(12798389)
'1762304'

>>> main(2990395)
'14520320'

>>> main(16593865)
'15005696'

>>> main(7675805)
'5158912'

Вариант №17

Задача №8

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

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

Целое.
0 4 5 14 15 19 R1 R2 R3 20 21 22 30 31 38 R3 R4

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

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

Тесты:

>>> main(2055812384)
{'R1': 0, 'R2': 425, 'R3': 18, 'R4': 490}

>>> main(608549224)
{'R1': 8, 'R2': 459, 'R3': 11, 'R4': 145}

>>> main(318246102)
{'R1': 22, 'R2': 102, 'R3': 112, 'R4': 75}

>>> main(161563844)
{'R1': 4, 'R2': 550, 'R3': 66, 'R4': 38}

Вариант №18

Задача №8

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

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

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

0 6 7 13 14 15 16 17 18 E1 E2 E3 E4 E5

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

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

0 6 7 8 9 10 16 17 18 E1 E3 E4 E2 E5

Тесты:

>>> main('0x47b8c')
'384140'

>>> main('0x68cf')
'83151'

>>> main('0x20381')
'138241'

>>> main('0x3a241')
'201537'

Вариант №19

Задача №8

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

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

Целое.
0 2 3 9 10 11 17 18 22 23 U1 U2 U3 U5 U6

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

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

Тесты:

>>> main(581584)
[('U1', '0'), ('U2', '122'), ('U3', '1'), ('U5', '2'), ('U6', '0')]

>>> main(13964660)
[('U1', '4'), ('U2', '46'), ('U3', '1'), ('U5', '21'), ('U6', '1')]

>>> main(9672295)
[('U1', '7'), ('U2', '76'), ('U3', '1'), ('U5', '4'), ('U6', '1')]

>>> main(16143511)
[('U1', '7'), ('U2', '18'), ('U3', '1'), ('U5', '29'), ('U6', '1')]

Вариант №20

Задача №8

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

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

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

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

Целое.
0 3 4 10 11 18 19 23 F1 F2 F3

Тесты:

>>> main({'F1': 12, 'F2': 86, 'F3': 69})
142700

>>> main({'F1': 4, 'F2': 1, 'F3': 46})
94228

>>> main({'F1': 2, 'F2': 85, 'F3': 218})
447826

>>> main({'F1': 7, 'F2': 24, 'F3': 73})
149895

Вариант №21

Задача №8

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

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

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

0 3 4 8 9 10 12 I1 I2 I3 I4

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

Целое.

0 1 3 4 7 8 12 I3 I4 I1 I2

Тесты:

>>> main('0x3a7')
6769

>>> main('0x1429')
666

>>> main('0xb99')
6549

>>> main('0x184d')
1244

Вариант №22

Задача №8

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

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

Шестнадцатиричная строка.
0 8 9 11 12 13 14 23 24 30 U1 U2 U3 U4 U5

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

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

Тесты:

>>> main('0x5a6137d3')
{'U1': '0x1d3', 'U2': '0x3', 'U3': '0x3', 'U4': '0x184', 'U5': '0x5a'}

>>> main('0x2789d5ce')
{'U1': '0x1ce', 'U2': '0x2', 'U3': '0x1', 'U4': '0x227', 'U5': '0x27'}

>>> main('0x33f2eeb6')
{'U1': '0xb6', 'U2': '0x7', 'U3': '0x2', 'U4': '0x3cb', 'U5': '0x33'}

>>> main('0x2e10c617')
{'U1': '0x17', 'U2': '0x3', 'U3': '0x0', 'U4': '0x43', 'U5': '0x2e'}

Вариант №23

Задача №8

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

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

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

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

Целое.
0 2 3 4 5 7 8 10 11 14 G1 G2 G3 G4 G5

Тесты:

>>> main([('G1', 4), ('G2', 2), ('G3', 5), ('G4', 2), ('G5', 14)])
29364

>>> main([('G1', 2), ('G2', 0), ('G3', 4), ('G4', 3), ('G5', 11)])
23426

>>> main([('G1', 2), ('G2', 2), ('G3', 0), ('G4', 1), ('G5', 14)])
28946

>>> main([('G1', 0), ('G2', 0), ('G3', 3), ('G4', 7), ('G5', 13)])
28512

Вариант №24

Задача №8

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

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

Десятичная строка.
0 7 8 9 10 11 12 13 14 18 L1 L2 L3 L4 L5 L6

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

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

Тесты:

>>> main('217909')
{'L1': '0x35', 'L2': '0x3', 'L3': '0x0', 'L4': '0x2', 'L5': '0x0', 'L6': '0xd'}

>>> main('292388')
{'L1': '0x24', 'L2': '0x2', 'L3': '0x1', 'L4': '0x2', 'L5': '0x1', 'L6': '0x11'}

>>> main('240568')
{'L1': '0xb8', 'L2': '0x3', 'L3': '0x0', 'L4': '0x1', 'L5': '0x1', 'L6': '0xe'}

>>> main('213193')
{'L1': '0xc9', 'L2': '0x0', 'L3': '0x0', 'L4': '0x0', 'L5': '0x0', 'L6': '0xd'}

Вариант №25

Задача №8

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

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

Целое.
0 2 3 10 11 19 H1 H2 H3 20 21 30 31 35 36 38 H3 H4 H5 H6

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

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

Тесты:

>>> main(129647654602)
(2, 217, 838, 380, 28, 1)

>>> main(185706612331)
(3, 205, 832, 487, 22, 2)

>>> main(63868493166)
(6, 173, 891, 758, 29, 0)

>>> main(80788514306)
(2, 192, 988, 634, 5, 1)

Вариант №26

Задача №8

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

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

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

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

Целое.
0 5 6 8 9 14 15 20 21 30 O2 O3 O4 O5

Тесты:

>>> main(('4', '60', '14', '843'))
1768388864

>>> main(('5', '20', '32', '400'))
839919936

>>> main(('0', '15', '48', '98'))
207101440

>>> main(('4', '48', '12', '303'))
635855104

Вариант №27

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 2 3 9 10 11 12 15 K1 K2 K3 K4 16 20 21 30 31 K4 K5 K6

Тесты:

>>> main((1, 0, 3, 73, 352, 0))
'0x2c049c01'

>>> main((3, 34, 0, 335, 520, 0))
'0x4114f113'

>>> main((5, 105, 2, 270, 421, 0))
'0x34b0eb4d'

>>> main((6, 39, 0, 137, 369, 0))
'0x2e28913e'

Вариант №28

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 8 9 11 12 14 15 G1 G2 G4

Тесты:

>>> main([('G1', 113), ('G2', 1), ('G4', 0)])
'0x271'

>>> main([('G1', 263), ('G2', 2), ('G4', 0)])
'0x507'

>>> main([('G1', 213), ('G2', 5), ('G4', 0)])
'0xad5'

>>> main([('G1', 1), ('G2', 3), ('G4', 0)])
'0x601'

Вариант №29

Задача №8

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

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

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

0 9 10 19 U1 U2 20 29 30 39 U3 U4

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

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

0 9 10 19 U3 U4 20 29 30 39 U1 U2

Тесты:

>>> main('84563254690')
'884127906565'

>>> main('849466463126')
'383215492226'

>>> main('918194648987')
'719301991562'

>>> main('521020693634')
'59192612084'

Вариант №30

Задача №8

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

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

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

0 3 4 8 9 10 17 18 23 24 Z1 Z2 Z3 Z4 Z6

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

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

0 5 6 9 10 17 18 19 23 24 Z1 Z4 Z3 Z2 Z6

Тесты:

>>> main('0x5c943e')
'0x189780'

>>> main('0x9051ec')
'0xf05300'

>>> main('0xd367c9')
'0xe76640'

>>> main('0x109dcc0')
'0x161dc00'

Вариант №31

Задача №8

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

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

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

0 9 10 15 16 21 22 27 Q1 Q3 Q4

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

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

0 5 6 15 16 21 22 27 Q3 Q1 Q4

Тесты:

>>> main('17892720')
'16800785'

>>> main('119843225')
'117466724'

>>> main('162939332')
'159412534'

>>> main('112436200')
'109115955'

Вариант №32

Задача №8

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

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

Десятичная строка.
0 9 10 11 12 13 14 21 J1 J2 J3 J4 J5

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

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

Тесты:

>>> main('1476083')
[('J1', 499), ('J2', 1), ('J3', 0), ('J4', 0), ('J5', 90)]

>>> main('2358157')
[('J1', 909), ('J2', 0), ('J3', 1), ('J4', 3), ('J5', 143)]

>>> main('2369954')
[('J1', 418), ('J2', 0), ('J3', 1), ('J4', 2), ('J5', 144)]

>>> main('743541')
[('J1', 117), ('J2', 0), ('J3', 1), ('J4', 1), ('J5', 45)]

Вариант №33

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 7 8 10 11 19 20 M1 M2 M3 M4

Тесты:

>>> main({'M1': 98, 'M2': 5, 'M3': 151, 'M4': 1})
'0x14bd62'

>>> main({'M1': 242, 'M2': 3, 'M3': 215, 'M4': 0})
'0x6bbf2'

>>> main({'M1': 245, 'M2': 4, 'M3': 370, 'M4': 0})
'0xb94f5'

>>> main({'M1': 144, 'M2': 3, 'M3': 343, 'M4': 0})
'0xabb90'

Вариант №34

Задача №8

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

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

Целое.

0 8 9 16 17 24 25 26 I1 I2 I3 I4

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

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

0 7 8 16 17 24 25 26 I3 I1 I2 I4

Тесты:

>>> main(64387316)
'0x278f4eb'

>>> main(1979765)
'0x35750f'

>>> main(92743)
'0x16a4700'

>>> main(44070721)
'0x2774150'

Вариант №35

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 8 9 12 13 18 A1 A2 A3 19 21 22 23 31 32 37 A3 A4 A5 A6

Тесты:

>>> main({'A1': '145', 'A2': '3', 'A3': '172', 'A4': '0', 'A5': '84', 'A6': '4'})
'0x42a158691'

>>> main({'A1': '161', 'A2': '5', 'A3': '262', 'A4': '0', 'A5': '68', 'A6': '63'})
'0x3f2220caa1'

>>> main({'A1': '125', 'A2': '14', 'A3': '170', 'A4': '0', 'A5': '9', 'A6': '4'})
'0x404955c7d'

>>> main({'A1': '23', 'A2': '0', 'A3': '170', 'A4': '0', 'A5': '492', 'A6': '52'})
'0x34f6154017'

Вариант №36

Задача №8

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

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

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

0 2 3 4 12 13 22 F1 F2 F3 F4

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

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

0 9 10 11 13 14 22 F4 F2 F1 F3

Тесты:

>>> main('4507175')
'0x18ba26'

>>> main('4213703')
'0x2f3a02'

>>> main('1319846')
'0xeb0a1'

>>> main('8057631')
'0x4c7fd7'

Вариант №37

Задача №8

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

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

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

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

Десятичная строка.
0 7 8 11 12 16 T1 T2 T3 17 19 20 26 27 32 T4 T5 T6

Тесты:

>>> main((69, 0, 9, 0, 112, 20))
'2801832005'

>>> main((13, 7, 23, 2, 117, 37))
'5089097485'

>>> main((185, 10, 27, 4, 119, 51))
'6970522297'

>>> main((155, 10, 30, 2, 63, 60))
'8119511707'

Вариант №38

Задача №8

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

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

Целое.
0 4 5 11 12 17 N1 N2 N3 18 21 22 30 31 33 34 35 N3 N4 N5 N6

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

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

Тесты:

>>> main(30921644500)
{'N1': '0x14', 'N2': '0x4e', 'N3': '0x12d', 'N4': '0xcc', 'N5': '0x6', 'N6': '0x1'}

>>> main(36168547764)
{'N1': '0x14', 'N2': '0x6d', 'N3': '0x103', 'N4': '0x1af', 'N5': '0x0', 'N6': '0x2'}

>>> main(48213380670)
{'N1': '0x1e', 'N2': '0x71', 'N3': '0x3dc', 'N4': '0xe6', 'N5': '0x6', 'N6': '0x2'}

>>> main(12970952350)
{'N1': '0x1e', 'N2': '0x34', 'N3': '0x210', 'N4': '0x14', 'N5': '0x6', 'N6': '0x0'}

Вариант №39

Задача №8

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

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

Целое.

0 5 6 12 13 18 19 21 U1 U2 U3

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

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

0 5 6 11 12 18 19 21 U1 U3 U2

Тесты:

>>> main(379882)
'195498'

>>> main(55332)
'393636'

>>> main(229535)
'10015'

>>> main(294304)
'485600'

Вариант №40

Задача №8

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

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

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

0 1 2 9 10 17 18 25 26 27 C1 C2 C3 C4 C5

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

Целое.

0 7 8 9 10 11 12 19 20 27 C4 C5 C1 C3 C2

Тесты:

>>> main('0xe78c7b2')
247667614

>>> main('0x6dfa3b2')
248416695

>>> main('0xd55d257')
156716885

>>> main('0x13b96e4')
194924622