ИКБО-01-22

Вариант №1

Задача №8

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

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

Целое.

0 6 7 16 17 19 20 22 23 29 N1 N2 N3 N5

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

Целое.

0 6 7 9 10 12 13 22 23 29 N5 N3 N2 N1

Тесты:

>>> main(418068297)
617468977

>>> main(401240406)
723276847

>>> main(186185245)
247304214

>>> main(392059806)
253164590

Вариант №2

Задача №8

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

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

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

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

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

Тесты:

>>> main((7, 19, 41, 9))
38087047

>>> main((31, 61, 192, 35))
148381343

>>> main((64, 8, 470, 37))
159040576

>>> main((64, 40, 101, 45))
189576256

Вариант №3

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 9 10 11 12 17 Y1 Y2 Y3 Y4 18 20 21 29 30 35 Y4 Y5 Y6

Тесты:

>>> main([('Y1', 206), ('Y2', 0), ('Y3', 1), ('Y4', 113), ('Y5', 307), ('Y6', 22)])
'0x5a66718ce'

>>> main([('Y1', 711), ('Y2', 1), ('Y3', 0), ('Y4', 53), ('Y5', 216), ('Y6', 19)])
'0x4db0356c7'

>>> main([('Y1', 1019), ('Y2', 0), ('Y3', 1), ('Y4', 317), ('Y5', 408), ('Y6', 18)])
'0x4b313dbfb'

>>> main([('Y1', 832), ('Y2', 0), ('Y3', 1), ('Y4', 448), ('Y5', 325), ('Y6', 44)])
'0xb28bc0b40'

Вариант №4

Задача №8

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

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

Целое.

0 4 5 11 12 19 X1 X2 X3 20 21 29 30 39 X3 X4 X5

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

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

0 4 5 13 14 19 X1 X4 X3 20 22 23 29 30 39 X3 X2 X5

Тесты:

>>> main(342106250047)
'0x4facfc671f'

>>> main(967092505942)
'0xe135522b36'

>>> main(1071916910199)
'0xf999e81337'

>>> main(201261534719)
'0x2ef7fd1c1f'

Вариант №5

Задача №8

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

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

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

0 7 8 13 14 15 24 U1 U2 U3 U4

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

Целое.

0 5 6 7 16 17 24 U2 U3 U4 U1

Тесты:

>>> main('32184306')
31845143

>>> main('32314455')
11529492

>>> main('16685455')
18808473

>>> main('20702730')
1391590

Вариант №6

Задача №8

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

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

Шестнадцатиричная строка.
0 1 2 4 5 11 12 15 W1 W2 W3 W4 16 19 20 21 22 31 W4 W5 W6

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

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

Тесты:

>>> main('0x6b73bb3e')
[('W1', 2), ('W2', 7), ('W3', 89), ('W4', 59), ('W5', 3), ('W6', 429)]

>>> main('0x2726fcbc')
[('W1', 0), ('W2', 7), ('W3', 101), ('W4', 111), ('W5', 2), ('W6', 156)]

>>> main('0x5d08fe98')
[('W1', 0), ('W2', 6), ('W3', 116), ('W4', 143), ('W5', 0), ('W6', 372)]

>>> main('0x5084608a')
[('W1', 2), ('W2', 2), ('W3', 4), ('W4', 70), ('W5', 0), ('W6', 322)]

Вариант №7

Задача №8

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

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

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

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

Целое.
0 7 8 12 13 14 15 17 I1 I3 I4 18 22 23 30 31 35 I4 I5 I6

Тесты:

>>> main({'I1': '0x97', 'I3': '0x0', 'I4': '0x71', 'I5': '0xfe', 'I6': '0x18'})
53674016919

>>> main({'I1': '0xe6', 'I3': '0x2', 'I4': '0x98', 'I5': '0xe4', 'I6': '0x11'})
38424821990

>>> main({'I1': '0x5f', 'I3': '0x1', 'I4': '0x62', 'I5': '0xd5', 'I6': '0x15'})
46887149663

>>> main({'I1': '0x47', 'I3': '0x0', 'I4': '0x64', 'I5': '0x99', 'I6': '0x9'})
20614086727

Вариант №8

Задача №8

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

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

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

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

Десятичная строка.
0 4 5 6 11 12 18 19 24 25 30 N1 N2 N3 N4 N5 N6

Тесты:

>>> main([('N1', '0x13'), ('N2', '0x1'), ('N3', '0x1'), ('N4', '0x4d'), ('N5', '0x24'), ('N6', '0xf')])
'522506355'

>>> main([('N1', '0x6'), ('N2', '0x0'), ('N3', '0x3'), ('N4', '0x3b'), ('N5', '0x18'), ('N6', '0x2c')])
'1489219782'

>>> main([('N1', '0x13'), ('N2', '0x1'), ('N3', '0x1'), ('N4', '0x2b'), ('N5', '0x27'), ('N6', '0xe')])
'490385523'

>>> main([('N1', '0x5'), ('N2', '0x1'), ('N3', '0x5'), ('N4', '0x10'), ('N5', '0x3e'), ('N6', '0x3e')])
'2112946533'

Вариант №9

Задача №8

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

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

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

0 1 2 9 10 14 15 22 C1 C2 C3 C4

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

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

0 4 5 12 13 20 21 22 C3 C2 C4 C1

Тесты:

>>> main('0x1ed405')
'0x27a035'

>>> main('0xc2d19')
'0x2308cb'

>>> main('0x1348c3')
'0x64c612'

>>> main('0x3b6e8f')
'0x6ed47b'

Вариант №10

Задача №8

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

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

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

0 1 10 11 12 13 16 17 19 K1 K2 K3 K4 K5

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

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

0 1 2 3 12 13 16 17 19 K3 K1 K2 K4 K5

Тесты:

>>> main('610309')
'0x94016'

>>> main('577993')
'0x8c726'

>>> main('486788')
'0x77611'

>>> main('904948')
'0xddbd1'

Вариант №11

Задача №8

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

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

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

0 2 3 4 5 6 7 13 14 15 16 24 L1 L2 L3 L4 L5 L6

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

Целое.

0 8 9 10 11 13 14 15 16 17 18 24 L6 L2 L1 L3 L5 L4

Тесты:

>>> main('0x1a9bc33')
31612329

>>> main('0x199a0c9')
17206169

>>> main('0x1247b4d')
31042340

>>> main('0x12a4136')
619818

Вариант №12

Задача №8

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

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

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

0 5 6 12 13 18 19 21 22 23 24 A2 A3 A4 A5 A6

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

Целое.

0 1 2 3 8 9 11 12 18 19 24 A5 A6 A4 A2 A3

Тесты:

>>> main('0x5a4297')
9479681

>>> main('0x11f553')
8213504

>>> main('0x7fe848')
33168897

>>> main('0xd0675a')
1692675

Вариант №13

Задача №8

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

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

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

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

Целое.
0 4 5 12 13 14 19 20 27 T1 T3 T4 T5

Тесты:

>>> main([('T1', 9), ('T3', 1), ('T4', 51), ('T5', 215)])
226287625

>>> main([('T1', 8), ('T3', 1), ('T4', 0), ('T5', 93)])
97525768

>>> main([('T1', 8), ('T3', 1), ('T4', 36), ('T5', 114)])
120135688

>>> main([('T1', 0), ('T3', 0), ('T4', 6), ('T5', 125)])
131170304

Вариант №14

Задача №8

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

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

Шестнадцатиричная строка.
0 1 2 9 10 17 18 22 23 24 25 30 I1 I2 I3 I4 I5 I6

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

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

Тесты:

>>> main('0x4711c905')
[('I1', '0x1'), ('I2', '0x41'), ('I3', '0x72'), ('I4', '0x4'), ('I5', '0x2'), ('I6', '0x23')]

>>> main('0x39ea5ad9')
[('I1', '0x1'), ('I2', '0xb6'), ('I3', '0x96'), ('I4', '0x1a'), ('I5', '0x3'), ('I6', '0x1c')]

>>> main('0x87e8709')
[('I1', '0x1'), ('I2', '0xc2'), ('I3', '0xa1'), ('I4', '0x1f'), ('I5', '0x0'), ('I6', '0x4')]

>>> main('0xb12ca')
[('I1', '0x2'), ('I2', '0xb2'), ('I3', '0xc4'), ('I4', '0x2'), ('I5', '0x0'), ('I6', '0x0')]

Вариант №15

Задача №8

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

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

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

0 6 7 8 13 14 15 16 S1 S3 S4 S5

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

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

0 1 2 3 4 10 11 16 S4 S5 S1 S3

Тесты:

>>> main('0x4631')
'13073'

>>> main('0x14e61')
'30233'

>>> main('0x28bd')
'82896'

>>> main('0xa16b')
'69298'

Вариант №16

Задача №8

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

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

Десятичная строка.
0 5 6 12 13 20 21 24 25 27 V1 V2 V3 V4 V5

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

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

Тесты:

>>> main('88961981')
('0x3d', '0x4e', '0x6b', '0xa', '0x2')

>>> main('21144892')
('0x3c', '0x14', '0x15', '0xa', '0x0')

>>> main('264263923')
('0x33', '0x63', '0x2', '0xe', '0x7')

>>> main('127680794')
('0x1a', '0x4', '0xe2', '0xc', '0x3')

Вариант №17

Задача №8

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

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

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

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

Десятичная строка.
0 7 8 12 13 15 16 17 18 20 21 23 L1 L2 L4 L5 L6

Тесты:

>>> main([('L1', 36), ('L2', 11), ('L4', 0), ('L5', 0), ('L6', 5)])
'10488612'

>>> main([('L1', 53), ('L2', 22), ('L4', 3), ('L5', 1), ('L6', 4)])
'8853045'

>>> main([('L1', 165), ('L2', 22), ('L4', 1), ('L5', 6), ('L6', 1)])
'3741349'

>>> main([('L1', 23), ('L2', 28), ('L4', 1), ('L5', 2), ('L6', 1)])
'2694167'

Вариант №18

Задача №8

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

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

Десятичная строка.
0 9 10 19 20 22 H1 H2 H3 23 28 29 35 36 37 38 44 H3 H4 H5 H6

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

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

Тесты:

>>> main('27629802229085')
[('H1', 349), ('H2', 771), ('H3', 264), ('H4', 8), ('H5', 2), ('H6', 100)]

>>> main('6871963545579')
[('H1', 1003), ('H2', 139), ('H3', 15), ('H4', 0), ('H5', 0), ('H6', 25)]

>>> main('31182051570652')
[('H1', 988), ('H2', 732), ('H3', 49), ('H4', 97), ('H5', 1), ('H6', 113)]

>>> main('2285445793070')
[('H1', 302), ('H2', 977), ('H3', 498), ('H4', 32), ('H5', 1), ('H6', 8)]

Вариант №19

Задача №8

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

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

Целое.

0 8 9 17 18 19 Z1 Z2 Z3 20 21 23 24 32 33 39 Z3 Z4 Z5 Z6

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

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

0 6 7 15 16 19 Z6 Z2 Z5 20 24 25 27 28 30 31 39 Z5 Z3 Z4 Z1

Тесты:

>>> main(754184992256)
'0x77986dd7'

>>> main(211164286169)
'0x6caf2ad318'

>>> main(645326732714)
'0xd53c401f4b'

>>> main(959144515998)
'0xcf3b51f66f'

Вариант №20

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 3 4 8 9 13 14 19 S1 S2 S3 S4

Тесты:

>>> main((0, 13, 12, 63))
'0xfd8d0'

>>> main((9, 14, 24, 5))
'0x170e9'

>>> main((9, 13, 26, 62))
'0xfb4d9'

>>> main((5, 11, 26, 29))
'0x774b5'

Вариант №21

Задача №8

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

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

Шестнадцатиричная строка.
0 2 3 5 6 13 14 22 23 24 25 29 B1 B2 B3 B4 B5 B6

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

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

Тесты:

>>> main('0x29476b0b')
[('B1', 3), ('B2', 1), ('B3', 172), ('B4', 285), ('B5', 2), ('B6', 20)]

>>> main('0x3b323379')
[('B1', 1), ('B2', 7), ('B3', 205), ('B4', 200), ('B5', 2), ('B6', 29)]

>>> main('0x1b74e962')
[('B1', 2), ('B2', 4), ('B3', 165), ('B4', 467), ('B5', 2), ('B6', 13)]

>>> main('0x2286b476')
[('B1', 6), ('B2', 6), ('B3', 209), ('B4', 26), ('B5', 1), ('B6', 17)]

Вариант №22

Задача №8

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

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

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

0 1 4 5 14 15 21 22 Q1 Q2 Q4 Q5

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

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

0 3 4 10 11 20 21 22 Q2 Q4 Q1 Q5

Тесты:

>>> main('0x55bdb2')
'0x4002b9'

>>> main('0x32c835')
'0x20065a'

>>> main('0x4dfca3')
'0x6001b1'

>>> main('0x38795')
'0x20007a'

Вариант №23

Задача №8

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

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

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

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

Десятичная строка.
0 8 9 10 11 19 20 26 N1 N2 N3 N5

Тесты:

>>> main((475, 1, 1, 95))
'99616731'

>>> main((315, 0, 1, 125))
'131073339'

>>> main((377, 1, 1, 3))
'3147641'

>>> main((71, 0, 1, 121))
'126878791'

Вариант №24

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 9 10 13 14 16 D1 D2 17 23 24 32 D4

Тесты:

>>> main({'D1': 532, 'D2': 15, 'D4': 129})
'0x81003e14'

>>> main({'D1': 339, 'D2': 15, 'D4': 88})
'0x58003d53'

>>> main({'D1': 799, 'D2': 14, 'D4': 427})
'0x1ab003b1f'

>>> main({'D1': 371, 'D2': 12, 'D4': 376})
'0x178003173'

Вариант №25

Задача №8

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

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

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

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

Десятичная строка.
0 9 10 12 13 20 21 27 X1 X2 X3

Тесты:

>>> main({'X1': 962, 'X2': 0, 'X3': 158})
'1295298'

>>> main({'X1': 234, 'X2': 4, 'X3': 197})
'1618154'

>>> main({'X1': 326, 'X2': 7, 'X3': 157})
'1293638'

>>> main({'X1': 890, 'X2': 7, 'X3': 96})
'794490'

Вариант №26

Задача №8

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

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

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

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

Целое.
0 1 2 10 11 17 18 19 20 25 26 28 E1 E2 E4 E5 E6

Тесты:

>>> main(('0x2', '0x30', '0x3', '0x3', '0x1'))
71041218

>>> main(('0x0', '0x1c7', '0x3', '0x5', '0x3'))
207357724

>>> main(('0x1', '0xcc', '0x3', '0x3c', '0x1'))
130810673

>>> main(('0x2', '0x118', '0x0', '0x0', '0x3'))
201327714

Вариант №27

Задача №8

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

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

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

0 7 8 10 11 16 L1 L3 17 20 21 23 24 32 L3 L4 L5

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

Целое.

0 7 8 16 L1 L5 17 19 20 22 23 32 L4 L3

Тесты:

>>> main('7327312781')
8028664973

>>> main('2945459336')
4329090952

>>> main('8246183576')
738847640

>>> main('3051853113')
2031007033

Вариант №28

Задача №8

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

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

Целое.
0 9 10 16 X1 X2 17 19 20 22 23 29 30 32 X3 X4 X6

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

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

Тесты:

>>> main(6828974586)
('0x1fa', '0x78', '0x4', '0x0', '0x6')

>>> main(5608186112)
('0x100', '0x8', '0x3', '0x4', '0x5')

>>> main(5062452144)
('0x3b0', '0x38', '0x7', '0x3', '0x4')

>>> main(3812180790)
('0x336', '0x50', '0x4', '0x3', '0x3')

Вариант №29

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 2 3 11 12 14 15 16 17 21 R1 R2 R3 R4 R5

Тесты:

>>> main([('R1', '0x4'), ('R2', '0x13b'), ('R3', '0x2'), ('R4', '0x2'), ('R5', '0x16')])
'0x2d29dc'

>>> main([('R1', '0x0'), ('R2', '0x8e'), ('R3', '0x2'), ('R4', '0x0'), ('R5', '0x5')])
'0xa2470'

>>> main([('R1', '0x7'), ('R2', '0xf8'), ('R3', '0x2'), ('R4', '0x0'), ('R5', '0x8')])
'0x1027c7'

>>> main([('R1', '0x4'), ('R2', '0xc1'), ('R3', '0x4'), ('R4', '0x3'), ('R5', '0x1d')])
'0x3bc60c'

Вариант №30

Задача №8

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

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

Шестнадцатиричная строка.
0 3 4 8 9 15 16 22 23 28 U1 U2 U3 U4 U5

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

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

Тесты:

>>> main('0x6e79a87')
{'U1': '0x7', 'U2': '0x8', 'U3': '0x4d', 'U4': '0x67', 'U5': '0xd'}

>>> main('0xf91ab8a')
{'U1': '0xa', 'U2': '0x18', 'U3': '0x55', 'U4': '0x11', 'U5': '0x1f'}

>>> main('0x5cde1e4')
{'U1': '0x4', 'U2': '0x1e', 'U3': '0x70', 'U4': '0x4d', 'U5': '0xb'}

>>> main('0xed2caa4')
{'U1': '0x4', 'U2': '0xa', 'U3': '0x65', 'U4': '0x52', 'U5': '0x1d'}

Вариант №31

Задача №8

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

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

Десятичная строка.
0 2 3 4 6 7 16 V2 V3 V4

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

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

Тесты:

>>> main('27874')
('0', '6', '217')

>>> main('115711')
('1', '7', '903')

>>> main('112777')
('1', '0', '881')

>>> main('123955')
('0', '3', '968')

Вариант №32

Задача №8

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

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

Целое.

0 3 4 6 7 11 12 16 W1 W3 W4

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

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

0 2 3 7 8 12 13 16 W3 W4 W1

Тесты:

>>> main(31759)
'124864'

>>> main(82483)
'29728'

>>> main(108101)
'47712'

>>> main(53643)
'93464'

Вариант №33

Задача №8

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

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

Целое.
0 9 10 13 14 18 I1 I2 I3 19 20 21 29 30 35 36 37 I3 I4 I5 I6

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

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

Тесты:

>>> main(85698286550)
[('I1', 982), ('I2', 4), ('I3', 16), ('I4', 416), ('I5', 15), ('I6', 1)]

>>> main(92697628105)
[('I1', 457), ('I2', 3), ('I3', 86), ('I4', 169), ('I5', 22), ('I6', 1)]

>>> main(126217528846)
[('I1', 526), ('I2', 9), ('I3', 26), ('I4', 281), ('I5', 53), ('I6', 1)]

>>> main(14971653028)
[('I1', 932), ('I2', 2), ('I3', 5), ('I4', 483), ('I5', 13), ('I6', 0)]

Вариант №34

Задача №8

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

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

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

0 1 10 11 18 J1 J3 19 20 21 29 30 36 J3 J4 J5

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

Целое.

0 6 7 16 17 18 J5 J4 19 25 26 35 36 J4 J3 J1

Тесты:

>>> main('22510307002')
51604226068

>>> main('80230316835')
123461435466

>>> main('135160983447')
122264092797

>>> main('93639019911')
107455184983

Вариант №35

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 8 9 10 11 12 21 22 24 25 30 H2 H3 H4 H5 H6

Тесты:

>>> main([('H2', 1), ('H3', 1), ('H4', 162), ('H5', 6), ('H6', 9)])
'0x138a2600'

>>> main([('H2', 1), ('H3', 3), ('H4', 552), ('H5', 4), ('H6', 47)])
'0x5f228e00'

>>> main([('H2', 1), ('H3', 3), ('H4', 522), ('H5', 5), ('H6', 23)])
'0x2f60ae00'

>>> main([('H2', 1), ('H3', 0), ('H4', 826), ('H5', 4), ('H6', 26)])
'0x3533a200'

Вариант №36

Задача №8

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

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

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

0 2 3 4 12 13 17 18 19 22 B1 B2 B3 B4 B5 B6

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

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

0 3 4 5 13 14 18 19 21 22 B6 B2 B3 B4 B1 B5

Тесты:

>>> main('0x66afda')
'0x555fbc'

>>> main('0x2c0c28')
'0x401855'

>>> main('0x4cb5a9')
'0x496b59'

>>> main('0x4aa182')
'0x154309'

Вариант №37

Задача №8

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

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

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

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

Целое.
0 1 2 10 11 17 18 22 23 27 P2 P3 P4 P5

Тесты:

>>> main(('423', '77', '3', '18'))
151940764

>>> main(('330', '99', '13', '11'))
95886632

>>> main(('423', '95', '14', '13'))
112918172

>>> main(('407', '1', '13', '11'))
95686236

Вариант №38

Задача №8

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

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

Шестнадцатиричная строка.
0 5 6 9 10 13 14 16 17 W1 W2 W3 W4 W5

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

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

Тесты:

>>> main('0x21a9f')
{'W1': '0x1f', 'W2': '0xa', 'W3': '0x6', 'W4': '0x0', 'W5': '0x1'}

>>> main('0x2475e')
{'W1': '0x1e', 'W2': '0xd', 'W3': '0x1', 'W4': '0x1', 'W5': '0x1'}

>>> main('0x17369')
{'W1': '0x29', 'W2': '0xd', 'W3': '0xc', 'W4': '0x5', 'W5': '0x0'}

>>> main('0x3c715')
{'W1': '0x15', 'W2': '0xc', 'W3': '0x1', 'W4': '0x7', 'W5': '0x1'}

Вариант №39

Задача №8

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

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

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

0 4 5 11 12 18 H1 H2 H3 19 20 21 26 27 36 H5 H6

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

Целое.

0 4 5 11 12 18 H1 H3 H2 19 24 25 34 35 36 H5 H6

Тесты:

>>> main('127454645814')
31864067862

>>> main('76472213103')
19118109359

>>> main('67000244274')
16750222642

>>> main('117442719253')
29361111893

Вариант №40

Задача №8

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

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

Десятичная строка.
0 3 4 9 10 11 12 20 H1 H2 H4

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

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

Тесты:

>>> main('291380')
[('H1', '4'), ('H2', '35'), ('H4', '71')]

>>> main('1135857')
[('H1', '1'), ('H2', '15'), ('H4', '277')]

>>> main('1618853')
[('H1', '5'), ('H2', '58'), ('H4', '395')]

>>> main('839703')
[('H1', '7'), ('H2', '1'), ('H4', '205')]