ИКБО-31-22

Вариант №1

Задача №8

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

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

Шестнадцатиричная строка.
0 9 10 12 13 22 23 26 O1 O2 O3

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

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

Тесты:

>>> main('0x7524d4')
{'O1': '212', 'O2': '1', 'O3': '937'}

>>> main('0x3a9e4')
{'O1': '484', 'O2': '2', 'O3': '29'}

>>> main('0x355263')
{'O1': '611', 'O2': '4', 'O3': '426'}

>>> main('0x3106c9')
{'O1': '713', 'O2': '1', 'O3': '392'}

Вариант №2

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 4 5 10 11 12 13 19 P1 P2 P3 P4

Тесты:

>>> main({'P1': 25, 'P2': 40, 'P3': 3, 'P4': 45})
'0x5bd19'

>>> main({'P1': 19, 'P2': 59, 'P3': 0, 'P4': 64})
'0x80773'

>>> main({'P1': 8, 'P2': 55, 'P3': 1, 'P4': 52})
'0x68ee8'

>>> main({'P1': 11, 'P2': 20, 'P3': 2, 'P4': 46})
'0x5d28b'

Вариант №3

Задача №8

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

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

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

0 4 5 11 12 16 17 21 22 27 28 30 C1 C2 C3 C5 C6

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

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

0 6 7 9 10 14 15 19 20 25 26 30 C2 C6 C1 C5 C3

Тесты:

>>> main('0x37259e01')
'0x65c081f0'

>>> main('0x53292d95')
'0x48ca82ec'

>>> main('0x697d31d5')
'0x4e5a830e'

>>> main('0x4a369d70')
'0x2688026b'

Вариант №4

Задача №8

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

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

Десятичная строка.
0 9 10 13 14 17 L1 L2 L3 18 22 23 25 26 34 L3 L4 L5

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

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

Тесты:

>>> main('1699334717')
{'L1': 573, 'L2': 2, 'L3': 295, 'L4': 2, 'L5': 25}

>>> main('14667634708')
{'L1': 20, 'L2': 6, 'L3': 265, 'L4': 4, 'L5': 218}

>>> main('26027701435')
{'L1': 187, 'L2': 13, 'L3': 380, 'L4': 6, 'L5': 387}

>>> main('5327913878')
{'L1': 918, 'L2': 0, 'L3': 70, 'L4': 3, 'L5': 79}

Вариант №5

Задача №8

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

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

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

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

Целое.
0 9 10 15 N1 16 17 18 23 24 31 N3 N4

Тесты:

>>> main(('0x24a', '0x39', '0x4a'))
1256456778

>>> main(('0x103', '0x15', '0x42'))
1112801539

>>> main(('0x215', '0x20', '0xaa'))
2860515861

>>> main(('0x372', '0x22', '0x81'))
2173174642

Вариант №6

Задача №8

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

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

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

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

Десятичная строка.
0 4 5 8 9 16 17 20 21 25 C1 C2 C3 C4 C5

Тесты:

>>> main({'C1': 19, 'C2': 1, 'C3': 139, 'C4': 12, 'C5': 22})
'47781427'

>>> main({'C1': 14, 'C2': 14, 'C3': 240, 'C4': 13, 'C5': 9})
'20701646'

>>> main({'C1': 21, 'C2': 5, 'C3': 153, 'C4': 10, 'C5': 13})
'28652213'

>>> main({'C1': 12, 'C2': 2, 'C3': 184, 'C4': 11, 'C5': 19})
'41381964'

Вариант №7

Задача №8

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

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

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

0 2 3 9 10 15 16 25 N1 N3 N4

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

Целое.

0 6 7 9 10 15 16 25 N1 N3 N4

Тесты:

>>> main('60539941')
60540544

>>> main('991891')
991616

>>> main('44563271')
44563328

>>> main('45776357')
45776512

Вариант №8

Задача №8

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

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

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

0 9 10 12 13 19 20 27 28 29 U1 U2 U3 U4 U5 U6

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

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

0 6 7 9 10 11 20 21 22 29 U3 U2 U5 U1 U6 U4

Тесты:

>>> main('220925770')
'882528728'

>>> main('814394720')
'36373973'

>>> main('492399388')
'895018315'

>>> main('541844666')
'19255519'

Вариант №9

Задача №8

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

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

Десятичная строка.
0 9 10 18 19 22 23 30 I1 I2 I3

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

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

Тесты:

>>> main('7736712')
(392, 387, 14)

>>> main('3769176')
(856, 96, 7)

>>> main('6977379')
(867, 157, 13)

>>> main('7582275')
(579, 236, 14)

Вариант №10

Задача №8

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

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

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

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

Целое.
0 1 2 9 10 15 F1 F2 F3 16 19 20 23 24 31 F4 F5 F6

Тесты:

>>> main([('F1', 0), ('F2', 247), ('F3', 50), ('F4', 4), ('F5', 5), ('F6', 44)])
743754716

>>> main([('F1', 0), ('F2', 104), ('F3', 53), ('F4', 15), ('F5', 2), ('F6', 58)])
976213408

>>> main([('F1', 0), ('F2', 112), ('F3', 42), ('F4', 13), ('F5', 8), ('F6', 172)])
2894965184

>>> main([('F1', 1), ('F2', 232), ('F3', 29), ('F4', 0), ('F5', 15), ('F6', 69)])
1173387169

Вариант №11

Задача №8

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

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

Шестнадцатиричная строка.
0 9 10 18 B2 19 28 29 36 B3 B4

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

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

Тесты:

>>> main('0x523a8682b')
(26, 117, 41)

>>> main('0x4030d2c15')
(331, 97, 32)

>>> main('0x1013f96d9')
(485, 39, 8)

>>> main('0xa10220071')
(128, 516, 80)

Вариант №12

Задача №8

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

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

Шестнадцатиричная строка.
0 2 3 11 12 18 19 20 F1 F2 F3 F4 21 28 29 33 34 41 F4 F5 F6

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

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

Тесты:

>>> main('0x23ce9ebce91')
[('F1', 1), ('F2', 466), ('F3', 60), ('F4', 317), ('F5', 7), ('F6', 143)]

>>> main('0x37e2c9d1025')
[('F1', 5), ('F2', 4), ('F3', 81), ('F4', 403), ('F5', 17), ('F6', 223)]

>>> main('0x2f0d51238f8')
[('F1', 0), ('F2', 287), ('F3', 35), ('F4', 674), ('F5', 6), ('F6', 188)]

>>> main('0x2d04837e87c')
[('F1', 4), ('F2', 271), ('F3', 126), ('F4', 262), ('F5', 2), ('F6', 180)]

Вариант №13

Задача №8

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

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

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

0 3 4 5 6 7 13 14 15 H1 H2 H3 H4 H5

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

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

0 3 4 5 6 7 8 14 15 H1 H5 H3 H4 H2

Тесты:

>>> main('0x4edb')
'0x9d9b'

>>> main('0x750a')
'0x6a1a'

>>> main('0x2a90')
'0xd500'

>>> main('0x9ab4')
'0xb564'

Вариант №14

Задача №8

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

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

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

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

Десятичная строка.
0 4 5 7 8 14 15 24 25 26 Y1 Y2 Y3 Y4 Y5

Тесты:

>>> main((20, 3, 97, 51, 2))
'68804980'

>>> main((9, 4, 52, 636, 3))
'121517193'

>>> main((7, 3, 123, 513, 0))
'16841575'

>>> main((0, 0, 51, 198, 3))
'107164416'

Вариант №15

Задача №8

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

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

Целое.

0 3 4 5 6 15 16 19 Y1 Y2 Y3 Y4

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

Целое.

0 3 4 7 8 9 10 19 Y1 Y4 Y2 Y3

Тесты:

>>> main(1028512)
727792

>>> main(840489)
864969

>>> main(141971)
174371

>>> main(529811)
88451

Вариант №16

Задача №8

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

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

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

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

Целое.
0 2 3 9 10 13 14 18 19 20 28 F1 F2 F3 F4 F5 F6

Тесты:

>>> main([('F1', '2'), ('F2', '112'), ('F3', '8'), ('F4', '17'), ('F5', '1'), ('F6', '112')])
118252418

>>> main([('F1', '4'), ('F2', '43'), ('F3', '15'), ('F4', '15'), ('F5', '1'), ('F6', '236')])
248249692

>>> main([('F1', '3'), ('F2', '70'), ('F3', '7'), ('F4', '10'), ('F5', '1'), ('F6', '100')])
105553459

>>> main([('F1', '1'), ('F2', '82'), ('F3', '3'), ('F4', '4'), ('F5', '1'), ('F6', '266')])
279514769

Вариант №17

Задача №8

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

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

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

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

Десятичная строка.
0 1 2 7 8 9 L1 L2 L3 L4

Тесты:

>>> main(('0', '0', '21', '1'))
'340'

>>> main(('1', '1', '36', '2'))
'659'

>>> main(('1', '0', '58', '2'))
'745'

>>> main(('0', '1', '30', '1'))
'378'

Вариант №18

Задача №8

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

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

Целое.
0 3 4 9 10 12 13 21 P1 P2 P4

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

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

Тесты:

>>> main(2025938)
{'P1': 2, 'P2': 29, 'P4': 247}

>>> main(1401095)
{'P1': 7, 'P2': 16, 'P4': 171}

>>> main(3122698)
{'P1': 10, 'P2': 32, 'P4': 381}

>>> main(408316)
{'P1': 12, 'P2': 47, 'P4': 49}

Вариант №19

Задача №8

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

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

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

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

Целое.
0 6 7 10 11 13 14 19 K1 K2 K3

Тесты:

>>> main(('23', '15', '6'))
14231

>>> main(('37', '1', '0'))
165

>>> main(('15', '1', '4'))
8335

>>> main(('108', '13', '2'))
5868

Вариант №20

Задача №8

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

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

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

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

Десятичная строка.
0 1 7 8 17 18 19 U1 U2 U3 U4

Тесты:

>>> main([('U1', '0x0'), ('U2', '0x6e'), ('U3', '0x3d9'), ('U4', '0x0')])
'252380'

>>> main([('U1', '0x1'), ('U2', '0x5e'), ('U3', '0x358'), ('U4', '0x1')])
'481469'

>>> main([('U1', '0x0'), ('U2', '0x44'), ('U3', '0x3c'), ('U4', '0x1')])
'277640'

>>> main([('U1', '0x1'), ('U2', '0x7b'), ('U3', '0x37c'), ('U4', '0x1')])
'490743'

Вариант №21

Задача №8

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

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

Шестнадцатиричная строка.
0 9 10 15 16 18 P1 P2 P3 19 21 22 28 29 34 35 37 P3 P4 P5 P6

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

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

Тесты:

>>> main('0xe1eda16ea')
{'P1': '746', 'P2': '5', 'P3': '26', 'P4': '123', 'P5': '48', 'P6': '1'}

>>> main('0x1b3fdba71d')
{'P1': '797', 'P2': '41', 'P3': '27', 'P4': '127', 'P5': '25', 'P6': '3'}

>>> main('0x1ba86a228f')
{'P1': '655', 'P2': '8', 'P3': '42', 'P4': '33', 'P5': '29', 'P6': '3'}

>>> main('0x7e81b0c26')
{'P1': '38', 'P2': '3', 'P3': '27', 'P4': '32', 'P5': '63', 'P6': '0'}

Вариант №22

Задача №8

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

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

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

0 5 6 11 12 21 22 28 L1 L2 L4

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

Целое.

0 6 7 16 17 22 23 28 L4 L1 L2

Тесты:

>>> main('0x1a5d10fb')
32899177

>>> main('0x11ceb02c')
5767239

>>> main('0x9d91c20')
406847527

>>> main('0x83a7299')
87162912

Вариант №23

Задача №8

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

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

Шестнадцатиричная строка.
0 9 10 15 J1 J2 16 17 18 25 26 30 31 J2 J3 J4 J5 J6

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

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

Тесты:

>>> main('0xf5588446')
('70', '33', '0', '86', '29', '1')

>>> main('0x34a060bf')
('191', '24', '0', '40', '13', '0')

>>> main('0xc7582087')
('135', '8', '0', '214', '17', '1')

>>> main('0x54a07779')
('889', '29', '0', '40', '21', '0')

Вариант №24

Задача №8

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

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

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

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

Целое.
0 6 7 10 11 19 20 28 E1 E2 E3 E4

Тесты:

>>> main(('0x31', '0x1', '0x8e', '0x15a'))
363098289

>>> main(('0x71', '0x8', '0x2c', '0x1b1'))
454124657

>>> main(('0x1c', '0xc', '0x80', '0x14c'))
348390940

>>> main(('0x1b', '0x9', '0x14f', '0x1f7'))
528120987

Вариант №25

Задача №8

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

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

Целое.

0 5 6 12 13 16 17 18 V1 V2 V3 V4

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

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

0 1 2 7 8 11 12 18 V4 V1 V3 V2

Тесты:

>>> main(434840)
'0xa563'

>>> main(211953)
'0x6f9c5'

>>> main(520700)
'0x47ff3'

>>> main(220142)
'0x6fab9'

Вариант №26

Задача №8

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

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

Целое.

0 6 7 8 9 14 15 17 18 24 25 26 Y1 Y2 Y3 Y4 Y5 Y6

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

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

0 2 3 9 10 11 12 18 19 24 25 26 Y4 Y1 Y6 Y5 Y3 Y2

Тесты:

>>> main(37547652)
'0x3b8f421'

>>> main(91965984)
'0x12de906'

>>> main(92891179)
'0x1a6295a'

>>> main(4117997)
'0x750f36d'

Вариант №27

Задача №8

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

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

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

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

Целое.
0 1 2 5 6 12 13 18 J1 J2 J3

Тесты:

>>> main({'J1': 0, 'J2': 15, 'J3': 41})
2684

>>> main({'J1': 3, 'J2': 12, 'J3': 100})
6451

>>> main({'J1': 1, 'J2': 0, 'J3': 23})
1473

>>> main({'J1': 2, 'J2': 1, 'J3': 98})
6278

Вариант №28

Задача №8

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

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

Целое.

0 1 2 10 11 18 19 20 21 24 P1 P2 P3 P5

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

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

0 3 4 5 6 13 14 15 16 24 P5 P1 P3 P2

Тесты:

>>> main(10759030)
'0xdd2165'

>>> main(7499840)
'0x101383'

>>> main(20930839)
'0x453b39'

>>> main(32430792)
'0xb236cf'

Вариант №29

Задача №8

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

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

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

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

Десятичная строка.
0 7 8 16 R1 R2 17 26 27 32 R4

Тесты:

>>> main(('148', '75', '15'))
'2013285268'

>>> main(('189', '437', '21'))
'2818684349'

>>> main(('95', '50', '42'))
'5637157471'

>>> main(('145', '180', '37'))
'4966102161'

Вариант №30

Задача №8

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

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

Целое.
0 3 4 5 6 14 15 19 J1 J2 J4

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

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

Тесты:

>>> main(723499)
[('J1', '0xb'), ('J2', '0x2'), ('J4', '0x16')]

>>> main(1026580)
[('J1', '0x4'), ('J2', '0x1'), ('J4', '0x1f')]

>>> main(67566)
[('J1', '0xe'), ('J2', '0x2'), ('J4', '0x2')]

>>> main(461293)
[('J1', '0xd'), ('J2', '0x2'), ('J4', '0xe')]

Вариант №31

Задача №8

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

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

Шестнадцатиричная строка.
0 1 2 6 7 8 9 18 19 27 F2 F3 F4 F5

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

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

Тесты:

>>> main('0x24e508b')
[('F2', '0x2'), ('F3', '0x1'), ('F4', '0x328'), ('F5', '0x49')]

>>> main('0x2c3b73e')
[('F2', '0xf'), ('F3', '0x2'), ('F4', '0x1db'), ('F5', '0x58')]

>>> main('0xf428629')
[('F2', '0xa'), ('F3', '0x0'), ('F4', '0x143'), ('F5', '0x1e8')]

>>> main('0x5cf1cdd')
[('F2', '0x17'), ('F3', '0x1'), ('F4', '0x38e'), ('F5', '0xb9')]

Вариант №32

Задача №8

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

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

Десятичная строка.
0 5 6 11 12 16 U1 U2 U3 17 20 21 24 25 33 U3 U4 U5

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

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

Тесты:

>>> main('824850805')
[('U1', '0x35'), ('U2', '0x25'), ('U3', '0xa3'), ('U4', '0x9'), ('U5', '0x18')]

>>> main('14122226650')
[('U1', '0x1a'), ('U2', '0xf'), ('U3', '0x1'), ('U4', '0xe'), ('U5', '0x1a4')]

>>> main('14584477719')
[('U1', '0x17'), ('U2', '0x20'), ('U3', '0xd7'), ('U4', '0xa'), ('U5', '0x1b2')]

>>> main('1177894262')
[('U1', '0x36'), ('U2', '0x35'), ('U3', '0x153'), ('U4', '0x1'), ('U5', '0x23')]

Вариант №33

Задача №8

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

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

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

0 2 3 12 13 18 19 25 Q1 Q2 Q3 Q4

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

Целое.

0 6 7 9 10 19 20 25 Q4 Q1 Q2 Q3

Тесты:

>>> main('2019086')
57116419

>>> main('30889778')
61577530

>>> main('18094907')
34446754

>>> main('65843007')
39297021

Вариант №34

Задача №8

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

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

Целое.
0 9 10 11 12 17 18 19 20 21 22 26 E1 E2 E3 E4 E5 E6

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

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

Тесты:

>>> main(131558818)
[('E1', '0x1a2'), ('E2', '0x3'), ('E3', '0x36'), ('E4', '0x1'), ('E5', '0x1'), ('E6', '0x1f')]

>>> main(23276956)
[('E1', '0x19c'), ('E2', '0x3'), ('E3', '0x32'), ('E4', '0x0'), ('E5', '0x2'), ('E6', '0x5')]

>>> main(56706885)
[('E1', '0x345'), ('E2', '0x1'), ('E3', '0x14'), ('E4', '0x0'), ('E5', '0x2'), ('E6', '0xd')]

>>> main(78986273)
[('E1', '0x21'), ('E2', '0x3'), ('E3', '0x13'), ('E4', '0x1'), ('E5', '0x3'), ('E6', '0x12')]

Вариант №35

Задача №8

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

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

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

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

Целое.
0 1 2 3 4 8 9 17 18 19 20 23 J1 J2 J3 J4 J5

Тесты:

>>> main((2, 3, 14, 119, 1))
323310

>>> main((3, 1, 2, 350, 3))
965671

>>> main((0, 1, 10, 475, 3))
1029796

>>> main((2, 1, 19, 306, 2))
681270

Вариант №36

Задача №8

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

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

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

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

Целое.
0 1 5 6 7 8 16 V1 V2 V3 V4 17 18 26 27 33 V4 V5 V6

Тесты:

>>> main(('0', '8', '2', '225', '354', '104'))
14051500432

>>> main(('1', '27', '3', '570', '24', '18'))
2422356727

>>> main(('0', '9', '0', '784', '304', '94'))
12696358930

>>> main(('0', '6', '1', '274', '48', '91'))
12226466380

Вариант №37

Задача №8

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

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

Целое.
0 7 8 13 14 17 18 22 23 26 27 S1 S2 S3 S4 S6

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

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

Тесты:

>>> main(65251526)
[('S1', '198'), ('S2', '40'), ('S3', '14'), ('S4', '24'), ('S6', '0')]

>>> main(49852181)
[('S1', '21'), ('S2', '47'), ('S3', '2'), ('S4', '30'), ('S6', '0')]

>>> main(40549624)
[('S1', '248'), ('S2', '60'), ('S3', '10'), ('S4', '26'), ('S6', '0')]

>>> main(51407496)
[('S1', '136'), ('S2', '42'), ('S3', '1'), ('S4', '4'), ('S6', '0')]

Вариант №38

Задача №8

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

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

Шестнадцатиричная строка.
0 9 10 14 15 17 18 21 22 23 24 29 X1 X2 X3 X4 X5

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

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

Тесты:

>>> main('0x28fdb4')
[('X1', '0x1b4'), ('X2', '0x1f'), ('X3', '0x1'), ('X4', '0xa'), ('X5', '0x0')]

>>> main('0x64fc63')
[('X1', '0x63'), ('X2', '0x1f'), ('X3', '0x1'), ('X4', '0x9'), ('X5', '0x1')]

>>> main('0x20f763')
[('X1', '0x363'), ('X2', '0x1d'), ('X3', '0x1'), ('X4', '0x8'), ('X5', '0x0')]

>>> main('0xccdfdc')
[('X1', '0x3dc'), ('X2', '0x17'), ('X3', '0x1'), ('X4', '0x3'), ('X5', '0x3')]

Вариант №39

Задача №8

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

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

Шестнадцатиричная строка.
0 1 2 4 5 10 11 14 B1 B2 B4

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

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

Тесты:

>>> main('0x7695')
[('B1', '1'), ('B2', '5'), ('B4', '14')]

>>> main('0x785d')
[('B1', '1'), ('B2', '7'), ('B4', '15')]

>>> main('0x3c28')
[('B1', '0'), ('B2', '2'), ('B4', '7')]

>>> main('0x47bd')
[('B1', '1'), ('B2', '7'), ('B4', '8')]

Вариант №40

Задача №8

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

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

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

0 5 6 8 9 13 14 16 17 26 27 30 C1 C2 C3 C4 C5 C6

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

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

0 3 4 13 14 16 17 22 23 27 28 30 C6 C5 C4 C1 C3 C2

Тесты:

>>> main('721397818')
'0xa7597f5'

>>> main('1213956553')
'0x701382d9'

>>> main('150818779')
'0x73b747e1'

>>> main('917840913')
'0x92335a6'