ИКБО-32-22

Вариант №1

Задача №8

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

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

Целое.
0 1 2 3 5 6 7 8 10 C1 C2 C3 C4 C5

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

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

Тесты:

>>> main(315)
(3, 0, 7, 0, 1)

>>> main(451)
(3, 0, 0, 3, 1)

>>> main(679)
(3, 1, 4, 2, 2)

>>> main(1462)
(2, 1, 6, 2, 5)

Вариант №2

Задача №8

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

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

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

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

Целое.
0 7 8 15 M1 M2 16 17 23 24 28 29 31 M2 M4 M5

Тесты:

>>> main([('M1', 174), ('M2', 386), ('M4', 19), ('M5', 4)])
2466349742

>>> main([('M1', 26), ('M2', 290), ('M4', 23), ('M5', 5)])
3070304794

>>> main([('M1', 60), ('M2', 226), ('M4', 30), ('M5', 0)])
503374396

>>> main([('M1', 14), ('M2', 100), ('M4', 22), ('M5', 2)])
1442866190

Вариант №3

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 1 2 9 10 19 20 22 O1 O2 O4

Тесты:

>>> main([('O1', 3), ('O2', 235), ('O4', 5)])
'0x5003af'

>>> main([('O1', 0), ('O2', 8), ('O4', 1)])
'0x100020'

>>> main([('O1', 1), ('O2', 175), ('O4', 2)])
'0x2002bd'

>>> main([('O1', 2), ('O2', 34), ('O4', 6)])
'0x60008a'

Вариант №4

Задача №8

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

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

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

0 1 6 7 9 10 18 N1 N2 N3 N4

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

Целое.

0 1 9 10 12 13 18 N1 N4 N3 N2

Тесты:

>>> main('0x5125f')
389769

>>> main('0x47002')
8760

>>> main('0x601d1')
331521

>>> main('0x470a4')
149048

Вариант №5

Задача №8

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

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

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

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

Целое.
0 1 2 8 9 16 17 18 V1 V2 V3 V4

Тесты:

>>> main([('V1', '0x1'), ('V2', '0xd'), ('V3', '0x97'), ('V4', '0x1')])
208437

>>> main([('V1', '0x1'), ('V2', '0x7a'), ('V3', '0xf5'), ('V4', '0x2')])
388073

>>> main([('V1', '0x0'), ('V2', '0xf'), ('V3', '0x76'), ('V4', '0x0')])
60476

>>> main([('V1', '0x1'), ('V2', '0x7d'), ('V3', '0x68'), ('V4', '0x0')])
53749

Вариант №6

Задача №8

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

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

Целое.

0 1 2 3 4 8 9 16 M2 M3 M4

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

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

0 1 2 9 10 11 12 16 M4 M2 M3

Тесты:

>>> main(55927)
'0x75b4'

>>> main(53398)
'0x95a0'

>>> main(107369)
'0x16b44'

>>> main(120208)
'0x193a8'

Вариант №7

Задача №8

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

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

Десятичная строка.
0 5 6 14 15 17 18 21 22 23 G1 G2 G3 G4

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

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

Тесты:

>>> main('272860')
{'G1': '28', 'G2': '167', 'G3': '0', 'G4': '1'}

>>> main('1165611')
{'G1': '43', 'G2': '292', 'G3': '3', 'G4': '4'}

>>> main('3078447')
{'G1': '47', 'G2': '484', 'G3': '5', 'G4': '11'}

>>> main('44806')
{'G1': '6', 'G2': '188', 'G3': '1', 'G4': '0'}

Вариант №8

Задача №8

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

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

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

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

Десятичная строка.
0 4 5 14 15 16 20 K1 K2 K4 21 24 25 34 35 41 K4 K5 K6

Тесты:

>>> main(('0xd', '0x83', '0x1e9', '0x62', '0x78'))
'4126488989805'

>>> main(('0xd', '0x93', '0x8b', '0x1f4', '0x76'))
'4071235457645'

>>> main(('0x1b', '0x108', '0xbe', '0x2d0', '0x68'))
'3597584441627'

>>> main(('0x16', '0x6f', '0x1f4', '0xdc', '0x5a'))
'3099791199734'

Вариант №9

Задача №8

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

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

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

0 1 2 4 5 6 7 11 12 13 S1 S2 S3 S4 S5

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

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

0 1 2 3 4 5 6 8 9 13 S3 S1 S5 S2 S4

Тесты:

>>> main('16156')
'15856'

>>> main('13121')
'3126'

>>> main('14181')
'7287'

>>> main('13102')
'3321'

Вариант №10

Задача №8

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

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

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

0 8 9 16 D1 D2 17 18 21 22 29 30 32 D2 D3 D4 D5

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

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

0 8 9 12 13 16 D2 D3 D1 17 21 22 24 25 32 D1 D5 D4

Тесты:

>>> main('5683764704')
'2541487022'

>>> main('2001636683')
'7422437190'

>>> main('2858758003')
'5682131607'

>>> main('7806841959')
'2345462138'

Вариант №11

Задача №8

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

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

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

0 6 7 9 10 17 18 19 20 21 28 C1 C2 C3 C4 C5

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

Целое.

0 2 3 10 11 12 13 14 20 21 28 C2 C3 C4 C5 C1

Тесты:

>>> main('146141')
1524853

>>> main('1974329')
949312

>>> main('694995')
1365301

>>> main('1388287')
2091613

Вариант №12

Задача №8

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

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

Шестнадцатиричная строка.
0 1 2 9 10 13 14 19 J1 J2 J4

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

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

Тесты:

>>> main('0x63407')
{'J1': '0x3', 'J2': '0x1', 'J4': '0x18'}

>>> main('0x2db41')
{'J1': '0x1', 'J2': '0xd0', 'J4': '0xb'}

>>> main('0x6da70')
{'J1': '0x0', 'J2': '0x9c', 'J4': '0x1b'}

>>> main('0xe8321')
{'J1': '0x1', 'J2': '0xc8', 'J4': '0x3a'}

Вариант №13

Задача №8

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

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

Целое.
0 5 6 8 9 11 12 Q1 Q2 Q3 Q4

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

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

Тесты:

>>> main(4523)
{'Q1': '0x2b', 'Q2': '0x6', 'Q3': '0x0', 'Q4': '0x1'}

>>> main(3921)
{'Q1': '0x11', 'Q2': '0x5', 'Q3': '0x7', 'Q4': '0x0'}

>>> main(5875)
{'Q1': '0x33', 'Q2': '0x3', 'Q3': '0x3', 'Q4': '0x1'}

>>> main(7915)
{'Q1': '0x2b', 'Q2': '0x3', 'Q3': '0x7', 'Q4': '0x1'}

Вариант №14

Задача №8

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

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

Целое.

0 6 7 13 14 17 18 19 20 26 W1 W2 W3 W4 W5

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

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

0 3 4 5 6 12 13 19 20 26 W3 W4 W1 W5 W2

Тесты:

>>> main(96097060)
'40593705'

>>> main(35405767)
'133444080'

>>> main(30944671)
'95660000'

>>> main(48739159)
'107337182'

Вариант №15

Задача №8

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

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

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

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

Десятичная строка.
0 2 3 9 10 16 17 22 23 29 W1 W2 W3 W4 W5

Тесты:

>>> main([('W1', 3), ('W2', 108), ('W3', 10), ('W4', 26), ('W5', 6)])
'53750627'

>>> main([('W1', 6), ('W2', 108), ('W3', 94), ('W4', 22), ('W5', 45)])
'380468070'

>>> main([('W1', 1), ('W2', 62), ('W3', 108), ('W4', 22), ('W5', 46)])
'388870641'

>>> main([('W1', 6), ('W2', 100), ('W3', 88), ('W4', 42), ('W5', 17)])
'148202278'

Вариант №16

Задача №8

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

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

Шестнадцатиричная строка.
0 1 2 7 8 17 18 24 B1 B2 B3 B4

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

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

Тесты:

>>> main('0x550c8d')
(1, 35, 268, 21)

>>> main('0x567b9b')
(3, 38, 635, 21)

>>> main('0x159ea23')
(3, 8, 490, 86)

>>> main('0x13d3fff')
(3, 63, 319, 79)

Вариант №17

Задача №8

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

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

Целое.

0 3 4 7 8 10 11 13 14 16 D1 D2 D4 D5

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

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

0 3 4 7 8 10 11 13 14 16 D2 D1 D5 D4

Тесты:

>>> main(28805)
'98648'

>>> main(22571)
'49586'

>>> main(2933)
'16471'

>>> main(74608)
'66567'

Вариант №18

Задача №8

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

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

Целое.
0 1 2 5 6 10 11 13 G2 G3 G4

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

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

Тесты:

>>> main(4826)
[('G2', '0x6'), ('G3', '0xb'), ('G4', '0x2')]

>>> main(2673)
[('G2', '0xc'), ('G3', '0x9'), ('G4', '0x1')]

>>> main(14422)
[('G2', '0x5'), ('G3', '0x1'), ('G4', '0x7')]

>>> main(118)
[('G2', '0xd'), ('G3', '0x1'), ('G4', '0x0')]

Вариант №19

Задача №8

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

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

Целое.
0 8 9 17 K1 K2 18 25 26 27 28 29 30 34 K3 K4 K5 K6

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

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

Тесты:

>>> main(31639875640)
[('K1', 56), ('K2', 280), ('K3', 120), ('K4', 3), ('K5', 1), ('K6', 29)]

>>> main(25916868008)
[('K1', 424), ('K2', 2), ('K3', 49), ('K4', 2), ('K5', 0), ('K6', 24)]

>>> main(32090673580)
[('K1', 428), ('K2', 104), ('K3', 48), ('K4', 2), ('K5', 3), ('K6', 29)]

>>> main(17576901165)
[('K1', 45), ('K2', 285), ('K3', 234), ('K4', 1), ('K5', 1), ('K6', 16)]

Вариант №20

Задача №8

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

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

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

0 9 10 16 17 21 22 27 E2 E3 E4

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

Целое.

0 5 6 12 13 17 18 27 E4 E2 E3

Тесты:

>>> main('0x290b835')
68490

>>> main('0x3f19db4')
203215

>>> main('0x983acbb')
15078

>>> main('0xd49f3e5')
40757

Вариант №21

Задача №8

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

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

Шестнадцатиричная строка.
0 4 5 11 12 21 22 25 W1 W3 W4

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

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

Тесты:

>>> main('0x2fa223d')
[('W1', 29), ('W3', 930), ('W4', 11)]

>>> main('0x11efdc')
[('W1', 28), ('W3', 286), ('W4', 0)]

>>> main('0x2229f63')
[('W1', 3), ('W3', 553), ('W4', 8)]

>>> main('0xfeb9c3')
[('W1', 3), ('W3', 1003), ('W4', 3)]

Вариант №22

Задача №8

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

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

Десятичная строка.
0 8 9 12 13 18 19 20 J1 J3 J4 21 25 26 34 35 40 J4 J5 J6

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

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

Тесты:

>>> main('2000812592946')
[('J1', '0x132'), ('J3', '0xa'), ('J4', '0x37'), ('J5', '0x76'), ('J6', '0x3a')]

>>> main('518555417644')
[('J1', '0x2c'), ('J3', '0x3d'), ('J4', '0x9'), ('J5', '0x2f'), ('J6', '0xf')]

>>> main('542808765862')
[('J1', '0x1a6'), ('J3', '0x23'), ('J4', '0x3d'), ('J5', '0x198'), ('J6', '0xf')]

>>> main('1080868987896')
[('J1', '0x1f8'), ('J3', '0x3f'), ('J4', '0x19'), ('J5', '0xea'), ('J6', '0x1f')]

Вариант №23

Задача №8

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

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

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

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

Десятичная строка.
0 9 10 18 19 26 27 30 Y1 Y2 Y3 Y4

Тесты:

>>> main(('703', '194', '13', '12'))
'1617627839'

>>> main(('314', '262', '169', '5'))
'759961914'

>>> main(('850', '125', '207', '6'))
'913962834'

>>> main(('0', '226', '73', '5'))
'709593088'

Вариант №24

Задача №8

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

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

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

0 2 3 12 13 16 O1 O2 O3 17 21 22 24 25 33 O4 O5

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

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

0 3 4 8 9 16 O3 O4 17 18 20 21 23 24 33 O5 O1 O2

Тесты:

>>> main('0x17e20d3')
'0x1a7401f1'

>>> main('0x4f2c7b')
'0x18f640079'

>>> main('0x14bef9e')
'0x1f3d4005f'

>>> main('0xa59584')
'0x2b088012c'

Вариант №25

Задача №8

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

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

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

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

Десятичная строка.
0 5 6 15 16 22 23 30 T1 T2 T3 T4

Тесты:

>>> main((8, 818, 50, 69))
'582143112'

>>> main((31, 894, 116, 99))
'838131615'

>>> main((22, 521, 28, 131))
'1100776022'

>>> main((16, 839, 59, 109))
'918278608'

Вариант №26

Задача №8

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

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

Целое.

0 1 2 10 11 19 20 21 22 29 T1 T2 T3 T5

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

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

0 8 9 10 11 19 20 21 22 29 T3 T1 T2 T5

Тесты:

>>> main(331607284)
'331999357'

>>> main(888191425)
'885228055'

>>> main(767061431)
'764112653'

>>> main(156644959)
'156024518'

Вариант №27

Задача №8

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

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

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

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

Десятичная строка.
0 3 4 13 14 15 16 17 Z1 Z2 Z3 Z4 18 25 26 35 Z4 Z5

Тесты:

>>> main({'Z1': '5', 'Z2': '381', 'Z3': '3', 'Z4': '996', 'Z5': '40'})
'2749683669'

>>> main({'Z1': '10', 'Z2': '853', 'Z3': '2', 'Z4': '750', 'Z5': '916'})
'61520917850'

>>> main({'Z1': '3', 'Z2': '123', 'Z3': '2', 'Z4': '778', 'Z5': '88'})
'5956601779'

>>> main({'Z1': '0', 'Z2': '864', 'Z3': '1', 'Z4': '996', 'Z5': '890'})
'59792193024'

Вариант №28

Задача №8

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

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

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

0 8 9 12 13 15 16 17 D1 D2 D4 18 19 20 26 27 35 D4 D5 D6

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

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

0 6 7 9 10 17 D5 D1 18 19 27 28 31 32 35 D1 D6 D4 D2

Тесты:

>>> main('0x9b5e9ffea')
'0xf99b7a85e'

>>> main('0x806076ef3')
'0x77803cc60'

>>> main('0x24400e6da')
'0x302436840'

>>> main('0xe8758ca0b')
'0x58e802c75'

Вариант №29

Задача №8

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

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

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

0 3 4 11 12 17 18 23 24 26 D1 D3 D4 D5

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

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

0 5 6 8 9 12 13 18 19 26 D3 D5 D1 D4

Тесты:

>>> main('75339798')
'257305'

>>> main('72387787')
'169736'

>>> main('67155163')
'5899'

>>> main('99818432')
'491889'

Вариант №30

Задача №8

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

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

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

0 6 7 16 17 22 23 24 25 D1 D2 D3 D4 D5

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

Целое.

0 9 10 11 12 13 18 19 25 D2 D5 D4 D3 D1

Тесты:

>>> main('0x3616138')
29757122

>>> main('0x217af59')
46754654

>>> main('0xb0e82f')
24842704

>>> main('0xfdf653')
44028908

Вариант №31

Задача №8

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

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

Целое.
0 2 3 8 9 12 13 21 D1 D2 D4

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

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

Тесты:

>>> main(4004642)
[('D1', '0x2'), ('D2', '0x24'), ('D4', '0x1e8')]

>>> main(712621)
[('D1', '0x5'), ('D2', '0x35'), ('D4', '0x56')]

>>> main(3576878)
[('D1', '0x6'), ('D2', '0x5'), ('D4', '0x1b4')]

>>> main(2593125)
[('D1', '0x5'), ('D2', '0x2c'), ('D4', '0x13c')]

Вариант №32

Задача №8

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

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

Шестнадцатиричная строка.
0 1 2 5 6 7 8 13 14 22 23 25 J1 J2 J4 J5 J6

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

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

Тесты:

>>> main('0xd127d6')
{'J1': '2', 'J2': '5', 'J4': '39', 'J5': '324', 'J6': '1'}

>>> main('0x2c1c93')
{'J1': '3', 'J2': '4', 'J4': '28', 'J5': '176', 'J6': '0'}

>>> main('0xe46474')
{'J1': '0', 'J2': '13', 'J4': '36', 'J5': '401', 'J6': '1'}

>>> main('0x35e98f9')
{'J1': '1', 'J2': '14', 'J4': '24', 'J5': '378', 'J6': '6'}

Вариант №33

Задача №8

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

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

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

0 9 10 16 17 18 24 G1 G2 G4

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

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

0 9 10 16 17 23 24 G1 G2 G4

Тесты:

>>> main('0x1f81e0b')
'16522763'

>>> main('0x863c2c')
'4340780'

>>> main('0x1c22e11')
'14691857'

>>> main('0x20f987')
'1112455'

Вариант №34

Задача №8

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

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

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

0 2 3 4 5 11 12 17 U1 U2 U3 U4 18 20 21 24 25 34 U4 U5 U6

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

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

0 2 3 4 5 13 14 17 U1 U2 U4 U5 18 27 28 34 U6 U3

Тесты:

>>> main('316543538')
'4565875762'

>>> main('14469790710')
'25614413558'

>>> main('12163341358')
'26133265326'

>>> main('33188742266')
'9654528026'

Вариант №35

Задача №8

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

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

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

0 4 5 13 14 17 18 20 E1 E2 E3 E4

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

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

0 3 4 8 9 11 12 20 E3 E1 E4 E2

Тесты:

>>> main('753490')
'2073901'

>>> main('485208')
'1287053'

>>> main('1956633')
'888727'

>>> main('1081929')
'75922'

Вариант №36

Задача №8

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

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

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

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

Десятичная строка.
0 2 3 12 13 14 15 17 B1 B2 B3 B4

Тесты:

>>> main([('B1', '0x4'), ('B2', '0x9c'), ('B3', '0x0'), ('B4', '0x1')])
'17636'

>>> main([('B1', '0x6'), ('B2', '0x3f5'), ('B3', '0x1'), ('B4', '0x0')])
'16302'

>>> main([('B1', '0x3'), ('B2', '0x3e1'), ('B3', '0x1'), ('B4', '0x1')])
'32523'

>>> main([('B1', '0x6'), ('B2', '0x3ed'), ('B3', '0x0'), ('B4', '0x0')])
'8046'

Вариант №37

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 6 7 8 9 10 13 14 23 24 27 I1 I2 I3 I4 I5 I6

Тесты:

>>> main([('I1', '19'), ('I2', '1'), ('I3', '3'), ('I4', '11'), ('I5', '574'), ('I6', '11')])
'0xb8faf93'

>>> main([('I1', '16'), ('I2', '0'), ('I3', '2'), ('I4', '1'), ('I5', '672'), ('I6', '1')])
'0x1a80610'

>>> main([('I1', '0'), ('I2', '1'), ('I3', '1'), ('I4', '12'), ('I5', '61'), ('I6', '1')])
'0x10f7180'

>>> main([('I1', '109'), ('I2', '0'), ('I3', '2'), ('I4', '13'), ('I5', '1006'), ('I6', '15')])
'0xffbb66d'

Вариант №38

Задача №8

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

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

Целое.

0 9 10 11 19 20 23 24 26 Y2 Y3 Y4 Y5

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

Целое.

0 3 4 13 14 16 17 25 26 Y4 Y5 Y3 Y2

Тесты:

>>> main(67949891)
120913920

>>> main(52885301)
96256002

>>> main(99824342)
13451279

>>> main(79908348)
80936972

Вариант №39

Задача №8

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

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

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

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

Целое.
0 3 4 6 7 13 14 19 K1 K2 K3

Тесты:

>>> main(('0x3', '0x4', '0x40'))
8259

>>> main(('0xa', '0x3', '0x4a'))
9530

>>> main(('0xb', '0x6', '0x7'))
1003

>>> main(('0x4', '0x3', '0x13'))
2484

Вариант №40

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 9 10 16 17 22 23 28 P1 P2 P3

Тесты:

>>> main({'P1': 225, 'P2': 95, 'P3': 58})
'0x757ce1'

>>> main({'P1': 654, 'P2': 123, 'P3': 53})
'0x6bee8e'

>>> main({'P1': 330, 'P2': 31, 'P3': 23})
'0x2e7d4a'

>>> main({'P1': 988, 'P2': 5, 'P3': 19})
'0x2617dc'