ИКБО-20-22

Вариант №1

Задача №8

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

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

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

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

Целое.
0 1 10 11 13 14 20 21 23 Q1 Q2 Q3 Q4 Q5

Тесты:

>>> main({'Q1': '1', 'Q2': '767', 'Q3': '4', 'Q4': '48', 'Q5': '0'})
796159

>>> main({'Q1': '0', 'Q2': '10', 'Q3': '2', 'Q4': '86', 'Q5': '5'})
11898900

>>> main({'Q1': '1', 'Q2': '969', 'Q3': '2', 'Q4': '112', 'Q5': '0'})
1841043

>>> main({'Q1': '1', 'Q2': '524', 'Q3': '7', 'Q4': '84', 'Q5': '2'})
5585945

Вариант №2

Задача №8

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

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

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

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

Целое.
0 7 8 9 17 18 20 I1 I2 I3

Тесты:

>>> main(('52', '0', '23'))
11828

>>> main(('158', '1', '430'))
220574

>>> main(('245', '0', '420'))
215285

>>> main(('0', '0', '419'))
214528

Вариант №3

Задача №8

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

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

Целое.
0 7 8 11 12 16 17 22 G1 G2 G3 G4

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

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

Тесты:

>>> main(7356696)
('24', '1', '4', '56')

>>> main(6207819)
('75', '9', '11', '47')

>>> main(3781530)
('154', '3', '27', '28')

>>> main(4537274)
('186', '11', '19', '34')

Вариант №4

Задача №8

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

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

Целое.

0 1 7 8 10 11 15 E1 E2 E3 E4 16 20 21 27 28 31 E4 E5

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

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

0 1 7 8 10 11 14 15 E1 E5 E3 E2 16 21 22 31 E2 E4

Тесты:

>>> main(245093892)
'3732997864'

>>> main(72992081)
'3457418565'

>>> main(225243387)
'1740538071'

>>> main(224858659)
'948470487'

Вариант №5

Задача №8

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

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

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

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

Десятичная строка.
0 1 10 11 19 20 22 23 24 S1 S2 S3 S4 S5

Тесты:

>>> main([('S1', 1), ('S2', 971), ('S3', 283), ('S4', 1), ('S5', 2)])
'18407319'

>>> main([('S1', 0), ('S2', 202), ('S3', 417), ('S4', 0), ('S5', 2)])
'17631636'

>>> main([('S1', 0), ('S2', 118), ('S3', 218), ('S4', 7), ('S5', 3)])
'32952556'

>>> main([('S1', 0), ('S2', 531), ('S3', 13), ('S4', 6), ('S5', 0)])
'6319142'

Вариант №6

Задача №8

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

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

Целое.
0 6 7 10 11 16 17 18 25 U1 U2 U3 U4 U5

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

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

Тесты:

>>> main(3651861)
[('U1', '0x15'), ('U2', '0x2'), ('U3', '0x37'), ('U4', '0x1'), ('U5', '0xd')]

>>> main(29949289)
[('U1', '0x69'), ('U2', '0xa'), ('U3', '0x1f'), ('U4', '0x0'), ('U5', '0x72')]

>>> main(18740935)
[('U1', '0x47'), ('U2', '0xd'), ('U3', '0x3e'), ('U4', '0x0'), ('U5', '0x47')]

>>> main(50313598)
[('U1', '0x7e'), ('U2', '0x2'), ('U3', '0x37'), ('U4', '0x1'), ('U5', '0xbf')]

Вариант №7

Задача №8

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

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

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

0 5 6 12 13 20 21 30 F1 F2 F4

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

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

0 7 8 13 14 20 21 30 F1 F2 F4

Тесты:

>>> main('0x293edc95')
'691836160'

>>> main('0xf4028b2')
'256422400'

>>> main('0x4bd9ff01')
'1272905984'

>>> main('0x52403b75')
'1381725440'

Вариант №8

Задача №8

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

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

Десятичная строка.
0 2 3 10 11 17 18 24 S1 S2 S3 S4

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

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

Тесты:

>>> main('2885787')
{'S1': '0x3', 'S2': '0x13', 'S3': '0x1', 'S4': '0xb'}

>>> main('11233166')
{'S1': '0x6', 'S2': '0xf1', 'S3': '0x6c', 'S4': '0x2a'}

>>> main('33426496')
{'S1': '0x0', 'S2': '0x88', 'S3': '0x41', 'S4': '0x7f'}

>>> main('4055645')
{'S1': '0x5', 'S2': '0x4b', 'S3': '0x3c', 'S4': '0xf'}

Вариант №9

Задача №8

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

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

Целое.
0 1 2 7 8 16 17 18 19 24 X1 X2 X4 X5

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

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

Тесты:

>>> main(21044508)
('0x0', '0x7', '0x0', '0x28')

>>> main(19683155)
('0x3', '0x14', '0x2', '0x25')

>>> main(33100718)
('0x2', '0x2b', '0x0', '0x3f')

>>> main(15913028)
('0x0', '0x11', '0x1', '0x1e')

Вариант №10

Задача №8

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

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

Десятичная строка.
0 3 4 11 12 15 16 23 24 25 C1 C2 C3 C4 C5

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

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

Тесты:

>>> main('38443069')
[('C1', 13), ('C2', 131), ('C3', 9), ('C4', 74), ('C5', 2)]

>>> main('47815668')
[('C1', 4), ('C2', 191), ('C3', 9), ('C4', 217), ('C5', 2)]

>>> main('28213345')
[('C1', 1), ('C2', 6), ('C3', 8), ('C4', 174), ('C5', 1)]

>>> main('42460417')
[('C1', 1), ('C2', 80), ('C3', 14), ('C4', 135), ('C5', 2)]

Вариант №11

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 4 5 6 7 8 15 I1 I2 I3

Тесты:

>>> main(('2', '0', '0'))
'0x2'

>>> main(('26', '3', '0'))
'0x7a'

>>> main(('15', '3', '1'))
'0xef'

>>> main(('31', '0', '0'))
'0x1f'

Вариант №12

Задача №8

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

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

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

0 1 2 6 7 15 16 18 19 K2 K3 K4 K5

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

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

0 1 2 3 11 12 14 15 19 K5 K3 K4 K2

Тесты:

>>> main('0xb0752')
'667761'

>>> main('0xab1f7')
'961305'

>>> main('0xcad12')
'150225'

>>> main('0xec14a')
'617489'

Вариант №13

Задача №8

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

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

Шестнадцатиричная строка.
0 5 6 15 16 20 21 30 X2 X3 X4

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

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

Тесты:

>>> main('0x9619976')
('0x265', '0x1', '0x4b')

>>> main('0x2f56c298')
('0x30a', '0x16', '0x17a')

>>> main('0x7dae1dab')
('0x76', '0xe', '0x3ed')

>>> main('0x2cb2c735')
('0x31c', '0x12', '0x165')

Вариант №14

Задача №8

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

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

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

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

Целое.
0 9 10 15 Q1 Q2 16 17 19 20 21 24 25 31 Q2 Q3 Q4 Q5 Q6

Тесты:

>>> main(('0x6e', '0x72', '0x0', '0x1', '0x3', '0x55'))
2859583598

>>> main(('0x351', '0x55', '0x1', '0x1', '0xa', '0x53'))
2807256913

>>> main(('0x1a8', '0x3e', '0x0', '0x0', '0x9', '0x5d'))
3139500456

>>> main(('0x343', '0x6c', '0x3', '0x1', '0xb', '0x34'))
1769452355

Вариант №15

Задача №8

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

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

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

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

Целое.
0 8 9 10 11 15 16 K1 K3 K4 17 18 27 28 32 K4 K5 K6

Тесты:

>>> main((303, 22, 3, 38, 5))
1352380719

>>> main((403, 25, 2, 749, 5))
1538705811

>>> main((281, 26, 1, 768, 8))
2348929305

>>> main((97, 3, 3, 67, 17))
4581169249

Вариант №16

Задача №8

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

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

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

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

Целое.
0 1 2 10 11 18 19 27 A1 A2 A3 A4

Тесты:

>>> main([('A1', '3'), ('A2', '174'), ('A3', '28'), ('A4', '221')])
115925691

>>> main([('A1', '1'), ('A2', '430'), ('A3', '214'), ('A4', '73')])
38713017

>>> main([('A1', '3'), ('A2', '208'), ('A3', '1'), ('A4', '67')])
35130179

>>> main([('A1', '1'), ('A2', '105'), ('A3', '197'), ('A4', '77')])
40774053

Вариант №17

Задача №8

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

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

Целое.

0 5 6 13 14 17 I1 I2 I3 18 23 24 25 26 27 28 34 I3 I4 I5 I6

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

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

0 7 8 9 10 16 17 I2 I5 I6 I3 18 26 27 32 33 34 I3 I1 I4

Тесты:

>>> main(4841753404)
'8132380716'

>>> main(12322516012)
'23149721520'

>>> main(3171427205)
'9265229710'

>>> main(34029858340)
'4877188024'

Вариант №18

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 2 3 9 10 19 20 26 27 28 B1 B2 B3 B4 B5

Тесты:

>>> main(('0x1', '0x49', '0x190', '0x11', '0x1'))
'0x9164249'

>>> main(('0x5', '0x2e', '0x3b0', '0x52', '0x0'))
'0x52ec175'

>>> main(('0x7', '0x79', '0xb', '0x4c', '0x0'))
'0x4c02fcf'

>>> main(('0x6', '0x3', '0x214', '0x32', '0x0'))
'0x328501e'

Вариант №19

Задача №8

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

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

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

0 1 2 3 6 7 8 9 17 18 26 D1 D2 D3 D4 D5 D6

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

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

0 1 2 10 11 19 20 23 24 25 26 D2 D5 D6 D3 D4 D1

Тесты:

>>> main('0x2593383')
'0x704b265'

>>> main('0x3d96901')
'0x607b2d0'

>>> main('0x7251397')
'0x72e4a27'

>>> main('0x6f6d8e3')
'0x5cdedb1'

Вариант №20

Задача №8

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

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

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

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

Десятичная строка.
0 2 3 8 9 14 15 22 Y1 Y2 Y3

Тесты:

>>> main([('Y1', '0x7'), ('Y2', '0x5'), ('Y3', '0x2d')])
'23087'

>>> main([('Y1', '0x2'), ('Y2', '0x32'), ('Y3', '0x6')])
'3474'

>>> main([('Y1', '0x0'), ('Y2', '0x36'), ('Y3', '0x13')])
'10160'

>>> main([('Y1', '0x1'), ('Y2', '0x10'), ('Y3', '0x1d')])
'14977'

Вариант №21

Задача №8

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

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

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

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

Целое.
0 2 3 5 6 15 16 R2 R3 R4

Тесты:

>>> main([('R2', 1), ('R3', 364), ('R4', 0)])
23304

>>> main([('R2', 0), ('R3', 338), ('R4', 0)])
21632

>>> main([('R2', 7), ('R3', 488), ('R4', 0)])
31288

>>> main([('R2', 5), ('R3', 513), ('R4', 1)])
98408

Вариант №22

Задача №8

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

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

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

0 1 2 3 9 10 18 19 26 N1 N2 N3 N4 N5

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

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

0 8 9 16 17 23 24 25 26 N4 N5 N3 N1 N2

Тесты:

>>> main('130195460')
'67236008'

>>> main('100969725')
'88047915'

>>> main('124017759')
'119003415'

>>> main('23730770')
'43276934'

Вариант №23

Задача №8

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

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

Целое.

0 5 6 8 9 18 19 20 21 27 28 G1 G2 G3 G4 G5 G6

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

Целое.

0 1 2 3 5 6 11 12 18 19 28 G4 G6 G2 G1 G5 G3

Тесты:

>>> main(304116500)
29955364

>>> main(424310440)
165456405

>>> main(533418989)
223341437

>>> main(6331528)
40907280

Вариант №24

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 2 3 4 7 8 10 11 17 18 21 X1 X2 X3 X4 X5 X6

Тесты:

>>> main([('X1', 6), ('X2', 1), ('X3', 5), ('X4', 3), ('X5', 79), ('X6', 2)])
'0xa7b5e'

>>> main([('X1', 2), ('X2', 1), ('X3', 4), ('X4', 1), ('X5', 100), ('X6', 4)])
'0x13214a'

>>> main([('X1', 7), ('X2', 1), ('X3', 5), ('X4', 1), ('X5', 29), ('X6', 2)])
'0x8e95f'

>>> main([('X1', 6), ('X2', 0), ('X3', 2), ('X4', 3), ('X5', 87), ('X6', 5)])
'0x16bb26'

Вариант №25

Задача №8

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

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

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

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

Десятичная строка.
0 5 6 9 10 12 13 15 16 18 19 20 H1 H2 H3 H4 H5 H6

Тесты:

>>> main({'H1': '0x2d', 'H2': '0x0', 'H3': '0x2', 'H4': '0x0', 'H5': '0x0', 'H6': '0x2'})
'1050669'

>>> main({'H1': '0x3c', 'H2': '0x5', 'H3': '0x7', 'H4': '0x1', 'H5': '0x4', 'H6': '0x0'})
'277884'

>>> main({'H1': '0x2b', 'H2': '0x1', 'H3': '0x6', 'H4': '0x1', 'H5': '0x1', 'H6': '0x1'})
'604267'

>>> main({'H1': '0x36', 'H2': '0x2', 'H3': '0x0', 'H4': '0x6', 'H5': '0x4', 'H6': '0x3'})
'1884342'

Вариант №26

Задача №8

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

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

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

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

Десятичная строка.
0 1 2 10 11 13 14 15 A1 A2 A3 A4 16 21 22 23 24 31 A4 A5 A6

Тесты:

>>> main((1, 195, 0, 125, 3, 141))
'2380219149'

>>> main((3, 460, 2, 71, 0, 188))
'3155285811'

>>> main((0, 256, 2, 68, 3, 34))
'584127488'

>>> main((2, 438, 7, 238, 2, 187))
'3149643482'

Вариант №27

Задача №8

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

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

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

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

Десятичная строка.
0 8 9 13 14 16 17 22 U1 U2 U3 U4

Тесты:

>>> main([('U1', '0x19f'), ('U2', '0x11'), ('U3', '0x6'), ('U4', '0x28')])
'5350303'

>>> main([('U1', '0x1c9'), ('U2', '0x17'), ('U3', '0x5'), ('U4', '0x1e')])
'4026313'

>>> main([('U1', '0x17c'), ('U2', '0x5'), ('U3', '0x4'), ('U4', '0x22')])
'4524924'

>>> main([('U1', '0x3a'), ('U2', '0xd'), ('U3', '0x7'), ('U4', '0x1b')])
'3660346'

Вариант №28

Задача №8

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

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

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

0 9 10 18 19 20 27 W1 W2 W4

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

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

0 8 9 18 19 26 27 W2 W1 W4

Тесты:

>>> main('169495470')
'84892818'

>>> main('49932768')
'24887418'

>>> main('85325943')
'42528638'

>>> main('145969792')
'73203924'

Вариант №29

Задача №8

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

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

Целое.
0 9 10 18 I2 19 20 26 27 36 I2 I3 I4

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

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

Тесты:

>>> main(33987146305)
[('I2', '684'), ('I3', '28'), ('I4', '253')]

>>> main(133792519444)
[('I2', '501'), ('I3', '106'), ('I4', '996')]

>>> main(123183341609)
[('I2', '808'), ('I3', '100'), ('I4', '917')]

>>> main(90757827568)
[('I2', '418'), ('I3', '25'), ('I4', '676')]

Вариант №30

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x25ad')
{'D1': 5, 'D2': 21, 'D3': 1, 'D4': 9}

>>> main('0x8b69')
{'D1': 1, 'D2': 13, 'D3': 3, 'D4': 34}

>>> main('0xdfb7')
{'D1': 7, 'D2': 22, 'D3': 3, 'D4': 55}

>>> main('0xc7d4')
{'D1': 4, 'D2': 26, 'D3': 3, 'D4': 49}

Вариант №31

Задача №8

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

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

Целое.
0 6 7 9 10 11 12 19 O1 O2 O3 O4

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

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

Тесты:

>>> main(275445)
{'O1': 117, 'O2': 7, 'O3': 0, 'O4': 67}

>>> main(778323)
{'O1': 83, 'O2': 0, 'O3': 0, 'O4': 190}

>>> main(94199)
{'O1': 119, 'O2': 7, 'O3': 3, 'O4': 22}

>>> main(984366)
{'O1': 46, 'O2': 2, 'O3': 1, 'O4': 240}

Вариант №32

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 1 2 4 5 14 15 16 20 21 23 H1 H2 H3 H4 H6

Тесты:

>>> main((1, 5, 162, 1, 1))
'0x209455'

>>> main((3, 0, 969, 0, 0))
'0x7923'

>>> main((3, 3, 420, 1, 4))
'0x80b48f'

>>> main((0, 4, 892, 1, 5))
'0xa0ef90'

Вариант №33

Задача №8

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

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

Шестнадцатиричная строка.
0 7 8 17 18 19 20 27 X1 X2 X4

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

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

Тесты:

>>> main('0x389b56')
{'X1': '86', 'X2': '155', 'X4': '3'}

>>> main('0xd25828b')
{'X1': '139', 'X2': '386', 'X4': '210'}

>>> main('0x80c670b')
{'X1': '11', 'X2': '103', 'X4': '128'}

>>> main('0xaedc8d7')
{'X1': '215', 'X2': '456', 'X4': '174'}

Вариант №34

Задача №8

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

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

Десятичная строка.
0 4 5 8 9 17 18 25 H1 H3 H4

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

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

Тесты:

>>> main('20536162')
('2', '173', '78')

>>> main('10092422')
('6', '255', '38')

>>> main('12702896')
('16', '234', '48')

>>> main('932564')
('20', '285', '3')

Вариант №35

Задача №8

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

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

Целое.

0 5 6 15 16 18 19 O1 O2 O3 O4 20 25 26 29 30 39 O4 O5 O6

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

Целое.

0 2 3 12 13 19 O3 O6 O2 20 22 23 29 30 33 34 39 O2 O4 O5 O1

Тесты:

>>> main(919738687434)
181652159170

>>> main(34861850164)
901386273029

>>> main(1047633282105)
991007219327

>>> main(339740759799)
951910623712

Вариант №36

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 7 8 11 12 19 20 28 I1 I2 I3 I4

Тесты:

>>> main({'I1': 138, 'I2': 7, 'I3': 25, 'I4': 109})
'0x6d1978a'

>>> main({'I1': 65, 'I2': 8, 'I3': 221, 'I4': 229})
'0xe5dd841'

>>> main({'I1': 61, 'I2': 6, 'I3': 89, 'I4': 265})
'0x1095963d'

>>> main({'I1': 252, 'I2': 7, 'I3': 173, 'I4': 167})
'0xa7ad7fc'

Вариант №37

Задача №8

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

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

Десятичная строка.
0 6 7 15 16 18 V1 V2 V3 19 25 26 32 33 37 V3 V4 V5

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

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

Тесты:

>>> main('239942863677')
{'V1': '0x3d', 'V2': '0x116', 'V3': '0x1b5', 'V4': '0x77', 'V5': '0x1b'}

>>> main('76479231238')
{'V1': '0x6', 'V2': '0xea', 'V3': '0x284', 'V4': '0x73', 'V5': '0x8'}

>>> main('14175730771')
{'V1': '0x53', 'V2': '0xf8', 'V3': '0xf0', 'V4': '0x53', 'V5': '0x1'}

>>> main('154823897674')
{'V1': '0x4a', 'V2': '0x64', 'V3': '0x39', 'V4': '0x3', 'V5': '0x12'}

Вариант №38

Задача №8

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

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

Целое.
0 6 7 13 14 22 23 G1 G2 G3 G4 24 29 30 38 39 47 G4 G5 G6

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

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

Тесты:

>>> main(220921835271803)
{'G1': '0x7b', 'G2': '0x6c', 'G3': '0xe', 'G4': '0x3f', 'G5': '0x1b5', 'G6': '0x191'}

>>> main(197082045900554)
{'G1': '0xa', 'G2': '0x4e', 'G3': '0x159', 'G4': '0x7a', 'G5': '0xfa', 'G6': '0x166'}

>>> main(46289809236737)
{'G1': '0x1', 'G2': '0x46', 'G3': '0x8b', 'G4': '0x5f', 'G5': '0x66', 'G6': '0x54'}

>>> main(77937669736019)
{'G1': '0x53', 'G2': '0xc', 'G3': '0x7a', 'G4': '0xe', 'G5': '0x189', 'G6': '0x8d'}

Вариант №39

Задача №8

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

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

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

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

Целое.
0 8 9 15 16 24 25 30 Q2 Q3 Q4

Тесты:

>>> main((90, 154, 14))
479900672

>>> main((16, 498, 3))
133308416

>>> main((36, 65, 9))
306268160

>>> main((68, 368, 60))
2037417984

Вариант №40

Задача №8

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

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

Целое.

0 1 7 8 11 12 13 14 17 L1 L2 L3 L4 L5

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

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

0 3 4 10 11 14 15 16 17 L3 L2 L5 L1 L4

Тесты:

>>> main(133256)
'0x4448'

>>> main(172977)
'0x2d583'

>>> main(138428)
'0x145ec'

>>> main(231658)
'0x7758'