ИКБО-09-22

Вариант №1

Задача №8

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

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

Целое.

0 9 10 13 14 15 Z1 Z2 Z3 16 20 21 29 30 31 Z3 Z4 Z5

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

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

0 8 9 10 11 15 Z4 Z5 Z1 16 20 21 24 25 31 Z1 Z2 Z3

Тесты:

>>> main(60879692)
'127557661'

>>> main(149524248)
'1282981959'

>>> main(2510803737)
'1050201261'

>>> main(1291272698)
'3121599079'

Вариант №2

Задача №8

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

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

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

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

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

Тесты:

>>> main([('V1', '7'), ('V2', '97'), ('V3', '119'), ('V4', '1')])
'5175367'

>>> main([('V1', '25'), ('V2', '126'), ('V3', '271'), ('V4', '2')])
'10616729'

>>> main([('V1', '14'), ('V2', '37'), ('V3', '305'), ('V4', '2')])
'10889550'

>>> main([('V1', '41'), ('V2', '112'), ('V3', '110'), ('V4', '0')])
'908329'

Вариант №3

Задача №8

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

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

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

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

Целое.
0 3 4 9 10 14 15 20 V1 V2 V4

Тесты:

>>> main({'V1': '0xb', 'V2': '0x3b', 'V4': '0x2d'})
1475515

>>> main({'V1': '0x0', 'V2': '0x3b', 'V4': '0x3d'})
1999792

>>> main({'V1': '0xf', 'V2': '0xd', 'V4': '0x25'})
1212639

>>> main({'V1': '0x2', 'V2': '0x2', 'V4': '0x8'})
262178

Вариант №4

Задача №8

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

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

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

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

Десятичная строка.
0 9 10 15 16 18 19 V1 V2 V4

Тесты:

>>> main(('0x7a', '0x2c', '0x1'))
'569466'

>>> main(('0x352', '0x31', '0x1'))
'575314'

>>> main(('0x167', '0x2e', '0x0'))
'47463'

>>> main(('0x1dd', '0x34', '0x1'))
'578013'

Вариант №5

Задача №8

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

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

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

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

Десятичная строка.
0 1 7 8 9 10 15 16 18 19 24 T2 T3 T4 T5 T6

Тесты:

>>> main(('0x66', '0x2', '0x36', '0x3', '0x2e'))
'24369868'

>>> main(('0x14', '0x2', '0x2b', '0x3', '0x1d'))
'15445544'

>>> main(('0x2b', '0x1', '0x38', '0x5', '0x3c'))
'31842646'

>>> main(('0x19', '0x1', '0x2e', '0x2', '0xc'))
'6469938'

Вариант №6

Задача №8

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

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

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

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

Целое.
0 5 6 7 11 12 13 S1 S2 S3 S4

Тесты:

>>> main([('S1', '39'), ('S2', '1'), ('S3', '18'), ('S4', '1')])
6503

>>> main([('S1', '39'), ('S2', '1'), ('S3', '24'), ('S4', '1')])
7271

>>> main([('S1', '21'), ('S2', '0'), ('S3', '22'), ('S4', '0')])
2837

>>> main([('S1', '29'), ('S2', '1'), ('S3', '5'), ('S4', '1')])
4829

Вариант №7

Задача №8

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

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

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

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

Десятичная строка.
0 2 3 9 10 11 12 18 T1 T2 T3 T4

Тесты:

>>> main({'T1': '0x1', 'T2': '0x67', 'T3': '0x0', 'T4': '0x73'})
'471865'

>>> main({'T1': '0x3', 'T2': '0x42', 'T3': '0x2', 'T4': '0x0'})
'2579'

>>> main({'T1': '0x5', 'T2': '0x69', 'T3': '0x2', 'T4': '0x50'})
'330573'

>>> main({'T1': '0x2', 'T2': '0x68', 'T3': '0x1', 'T4': '0x7e'})
'517954'

Вариант №8

Задача №8

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

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

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

0 1 2 11 12 13 22 23 24 30 A1 A2 A3 A4 A5 A6

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

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

0 6 7 16 17 18 27 28 29 30 A6 A2 A3 A4 A1 A5

Тесты:

>>> main('488644777')
'335811869'

>>> main('1576146761')
'1581443421'

>>> main('1354754759')
'2013092048'

>>> main('1540108672')
'1233530971'

Вариант №9

Задача №8

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

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

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

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

Целое.
0 7 8 9 10 11 17 18 19 H1 H3 H4 H5

Тесты:

>>> main({'H1': '0x54', 'H3': '0x0', 'H4': '0x1f', 'H5': '0x0'})
63572

>>> main({'H1': '0x12', 'H3': '0x1', 'H4': '0x64', 'H5': '0x3'})
992274

>>> main({'H1': '0x0', 'H3': '0x0', 'H4': '0x1e', 'H5': '0x0'})
61440

>>> main({'H1': '0x5a', 'H3': '0x1', 'H4': '0x76', 'H5': '0x1'})
504922

Вариант №10

Задача №8

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

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

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

0 4 5 14 15 19 20 28 O1 O2 O3 O4

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

Целое.

0 9 10 14 15 19 20 28 O2 O3 O1 O4

Тесты:

>>> main('285162957')
284621294

>>> main('268116578')
267475219

>>> main('36779116')
37095843

>>> main('458804697')
459064942

Вариант №11

Задача №8

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

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

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

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

Десятичная строка.
0 4 5 10 11 13 14 21 Z1 Z2 Z4

Тесты:

>>> main({'Z1': 13, 'Z2': 10, 'Z4': 241})
'3948877'

>>> main({'Z1': 30, 'Z2': 28, 'Z4': 19})
'312222'

>>> main({'Z1': 31, 'Z2': 33, 'Z4': 157})
'2573375'

>>> main({'Z1': 24, 'Z2': 63, 'Z4': 172})
'2820088'

Вариант №12

Задача №8

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

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

Целое.
0 8 9 14 15 16 17 25 26 30 L1 L3 L4 L5

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

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

Тесты:

>>> main(472769405)
('0x17d', '0x3', '0x16', '0x7')

>>> main(1587571668)
('0x1d4', '0x0', '0x150', '0x17')

>>> main(5865462)
('0x1f6', '0x2', '0x2c', '0x0')

>>> main(980371533)
('0x4d', '0x2', '0x137', '0xe')

Вариант №13

Задача №8

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

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

Шестнадцатиричная строка.
0 6 7 15 Y1 Y2 16 23 24 27 28 31 Y3 Y4 Y5

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

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

Тесты:

>>> main('0x8eea8f47')
{'Y1': '0x47', 'Y2': '0x11e', 'Y3': '0xea', 'Y4': '0xe', 'Y5': '0x8'}

>>> main('0x428d10ab')
{'Y1': '0x2b', 'Y2': '0x21', 'Y3': '0x8d', 'Y4': '0x2', 'Y5': '0x4'}

>>> main('0x9661067b')
{'Y1': '0x7b', 'Y2': '0xc', 'Y3': '0x61', 'Y4': '0x6', 'Y5': '0x9'}

>>> main('0x90a3ca09')
{'Y1': '0x9', 'Y2': '0x194', 'Y3': '0xa3', 'Y4': '0x0', 'Y5': '0x9'}

Вариант №14

Задача №8

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

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

Целое.
0 4 5 8 9 13 14 17 O1 O2 O3 O4

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

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

Тесты:

>>> main(186485)
[('O1', '21'), ('O2', '3'), ('O3', '12'), ('O4', '11')]

>>> main(80197)
[('O1', '5'), ('O2', '10'), ('O3', '28'), ('O4', '4')]

>>> main(170493)
[('O1', '29'), ('O2', '15'), ('O3', '12'), ('O4', '10')]

>>> main(63784)
[('O1', '8'), ('O2', '9'), ('O3', '28'), ('O4', '3')]

Вариант №15

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 8 9 16 17 21 22 29 M1 M2 M3 M4

Тесты:

>>> main({'M1': 24, 'M2': 127, 'M3': 11, 'M4': 58})
'0xe96fe18'

>>> main({'M1': 350, 'M2': 253, 'M3': 16, 'M4': 59})
'0xee1fb5e'

>>> main({'M1': 403, 'M2': 108, 'M3': 22, 'M4': 75})
'0x12ecd993'

>>> main({'M1': 28, 'M2': 130, 'M3': 5, 'M4': 87})
'0x15cb041c'

Вариант №16

Задача №8

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

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

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

0 1 3 4 12 13 14 K1 K2 K3 K4

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

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

0 1 2 3 11 12 14 K4 K1 K3 K2

Тесты:

>>> main('7938')
'8064'

>>> main('16728')
'16554'

>>> main('26863')
'29815'

>>> main('5491')
'6844'

Вариант №17

Задача №8

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

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

Десятичная строка.
0 4 5 6 7 8 12 13 17 18 21 H2 H3 H4 H5 H6

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

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

Тесты:

>>> main('2939397')
('0', '0', '26', '6', '11')

>>> main('2350995')
('0', '1', '31', '30', '8')

>>> main('870063')
('1', '1', '6', '10', '3')

>>> main('1823821')
('2', '0', '20', '30', '6')

Вариант №18

Задача №8

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

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

Целое.

0 1 2 10 11 18 19 23 W1 W2 W4

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

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

0 4 5 6 7 15 16 23 W4 W1 W2

Тесты:

>>> main(8483768)
'0x7710'

>>> main(12101734)
'0xcd7'

>>> main(10012021)
'0xaeb3'

>>> main(5881095)
'0xa0eb'

Вариант №19

Задача №8

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

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

Целое.

0 3 4 10 11 20 21 26 G1 G2 G4

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

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

0 3 4 13 14 20 21 26 G1 G2 G4

Тесты:

>>> main(87207472)
'87605248'

>>> main(92073840)
'92127232'

>>> main(96743971)
'97026051'

>>> main(97240846)
'98304014'

Вариант №20

Задача №8

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

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

Десятичная строка.
0 2 3 6 7 12 13 16 17 22 23 27 O1 O2 O4 O5 O6

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

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

Тесты:

>>> main('76840212')
{'O1': '4', 'O2': '2', 'O4': '3', 'O5': '10', 'O6': '9'}

>>> main('13770056')
{'O1': '0', 'O2': '9', 'O4': '0', 'O5': '41', 'O6': '1'}

>>> main('130734369')
{'O1': '1', 'O2': '4', 'O4': '6', 'O5': '37', 'O6': '15'}

>>> main('248371123')
{'O1': '3', 'O2': '6', 'O4': '14', 'O5': '38', 'O6': '29'}

Вариант №21

Задача №8

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

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

Целое.
0 7 8 10 11 20 21 27 28 30 B1 B2 B3 B4 B5

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

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

Тесты:

>>> main(413034558)
('0x3e', '0x0', '0x3cd', '0x44', '0x1')

>>> main(160980561)
('0x51', '0x6', '0x30b', '0x4c', '0x0')

>>> main(743411908)
('0xc4', '0x0', '0x1f2', '0x62', '0x2')

>>> main(621849264)
('0xb0', '0x2', '0x215', '0x28', '0x2')

Вариант №22

Задача №8

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

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

Десятичная строка.
0 4 5 7 8 14 15 20 X1 X3 X4

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

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

Тесты:

>>> main('1410933')
{'X1': '21', 'X3': '7', 'X4': '43'}

>>> main('2008370')
{'X1': '18', 'X3': '37', 'X4': '61'}

>>> main('1143203')
{'X1': '3', 'X3': '113', 'X4': '34'}

>>> main('838336')
{'X1': '0', 'X3': '74', 'X4': '25'}

Вариант №23

Задача №8

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

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

Десятичная строка.
0 7 8 9 15 16 24 S1 S2 S3 S4

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

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

Тесты:

>>> main('28439884')
[('S1', 76), ('S2', 1), ('S3', 122), ('S4', 433)]

>>> main('3041000')
[('S1', 232), ('S2', 0), ('S3', 51), ('S4', 46)]

>>> main('19645531')
[('S1', 91), ('S2', 0), ('S3', 98), ('S4', 299)]

>>> main('27480219')
[('S1', 155), ('S2', 0), ('S3', 40), ('S4', 419)]

Вариант №24

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 8 9 16 17 19 Q1 Q2 Q3 20 26 27 31 32 38 Q3 Q5

Тесты:

>>> main([('Q1', '503'), ('Q2', '223'), ('Q3', '417'), ('Q5', '42')])
'0x2a0343bff7'

>>> main([('Q1', '83'), ('Q2', '38'), ('Q3', '783'), ('Q5', '8')])
'0x8061e4c53'

>>> main([('Q1', '448'), ('Q2', '10'), ('Q3', '657'), ('Q5', '9')])
'0x9052215c0'

>>> main([('Q1', '257'), ('Q2', '255'), ('Q3', '599'), ('Q5', '82')])
'0x5204afff01'

Вариант №25

Задача №8

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

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

Целое.
0 5 6 7 8 15 16 G1 G3 G4 17 25 26 28 29 33 G4 G5 G6

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

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

Тесты:

>>> main(13728075568)
{'G1': '0x30', 'G3': '0xcf', 'G4': '0x241', 'G5': '0x4', 'G6': '0x19'}

>>> main(14322278518)
{'G1': '0x36', 'G3': '0xa0', 'G4': '0x1ac', 'G5': '0x5', 'G6': '0x1a'}

>>> main(8995745161)
{'G1': '0x9', 'G3': '0x2d', 'G4': '0x30', 'G5': '0x6', 'G6': '0x10'}

>>> main(15217753271)
{'G1': '0x37', 'G3': '0x7c', 'G4': '0x30c', 'G5': '0x2', 'G6': '0x1c'}

Вариант №26

Задача №8

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

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

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

0 7 8 12 13 18 E1 E2 E3 19 22 23 27 28 36 E3 E4 E5

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

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

0 7 8 12 13 18 E1 E4 E5 19 21 22 31 32 36 E5 E3 E2

Тесты:

>>> main('0x11838cc81a')
'34789852954'

>>> main('0x16a2cea115')
'6936151317'

>>> main('0x197f534a29')
'45746421289'

>>> main('0x6cc6cadd1')
'59480316113'

Вариант №27

Задача №8

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

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

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

0 5 6 10 11 16 17 A1 A2 A3 A4 18 27 28 34 A5 A6

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

Целое.

0 1 10 11 16 17 A4 A5 A1 A2 18 21 22 28 29 34 A2 A6 A3

Тесты:

>>> main('11424302119')
17358208120

>>> main('17671710302')
15308355240

>>> main('31501899283')
14452562644

>>> main('25441780912')
13281625657

Вариант №28

Задача №8

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

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

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

0 8 9 11 12 13 14 16 W1 W2 W3 W4

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

Целое.

0 2 3 11 12 13 14 16 W4 W1 W3 W2

Тесты:

>>> main('0x83e5')
20266

>>> main('0x3d77')
113592

>>> main('0x17f57')
129725

>>> main('0x1c2dc')
18151

Вариант №29

Задача №8

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

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

Шестнадцатиричная строка.
0 8 9 11 12 13 14 20 K1 K2 K3 K4

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

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

Тесты:

>>> main('0x106083')
('0x83', '0x0', '0x2', '0x41')

>>> main('0x198dfe')
('0x1fe', '0x6', '0x0', '0x66')

>>> main('0x162727')
('0x127', '0x3', '0x2', '0x58')

>>> main('0x6a1f8')
('0x1f8', '0x0', '0x2', '0x1a')

Вариант №30

Задача №8

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

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

Целое.

0 9 10 11 18 19 20 29 V1 V2 V3 V4

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

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

0 1 8 9 18 19 28 29 V4 V3 V1 V2

Тесты:

>>> main(979560)
'315837'

>>> main(112923)
'145006'

>>> main(1029955)
'537298925'

>>> main(200309)
'537193154'

Вариант №31

Задача №8

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

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

Целое.

0 6 7 12 13 19 Y1 Y2 20 21 22 31 32 38 Y4 Y5

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

Целое.

0 5 6 12 13 19 Y2 Y1 Y5 20 28 29 38 Y4

Тесты:

>>> main(527444188586)
442382633659

>>> main(330913842810)
25770442380

>>> main(391571427521)
92879417441

>>> main(198692430350)
143344911236

Вариант №32

Задача №8

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

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

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

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

Десятичная строка.
0 1 7 8 14 15 21 22 26 K1 K2 K3 K4 K5

Тесты:

>>> main(('0x0', '0x75', '0x1b', '0x28', '0x19'))
'106175466'

>>> main(('0x1', '0xc', '0x52', '0x2b', '0x9'))
'39178777'

>>> main(('0x1', '0x11', '0x52', '0x14', '0x19'))
'105533987'

>>> main(('0x1', '0x71', '0x46', '0x10', '0x5'))
'21513955'

Вариант №33

Задача №8

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

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

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

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

Десятичная строка.
0 3 4 11 12 17 18 20 21 28 G1 G3 G4 G5

Тесты:

>>> main((2, 29, 1, 39))
'82169858'

>>> main((13, 30, 3, 245))
'514711565'

>>> main((0, 59, 0, 91))
'191082496'

>>> main((11, 37, 1, 151))
'317083659'

Вариант №34

Задача №8

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

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

Десятичная строка.
0 8 9 18 T1 T2 19 26 27 34 35 36 T3 T4

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

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

Тесты:

>>> main('562941337')
('409', '742', '49', '4')

>>> main('28729601038')
('14', '374', '13', '214')

>>> main('26516617857')
('129', '445', '144', '197')

>>> main('30717979326')
('190', '917', '221', '228')

Вариант №35

Задача №8

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

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

Целое.
0 6 7 8 9 16 17 20 T1 T2 T3 T4 21 26 27 35 36 41 T4 T5 T6

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

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

Тесты:

>>> main(1030268889281)
{'T1': 65, 'T2': 1, 'T3': 212, 'T4': 103, 'T5': 508, 'T6': 14}

>>> main(3207381609922)
{'T1': 66, 'T2': 3, 'T3': 182, 'T4': 875, 'T5': 344, 'T6': 46}

>>> main(3041078313365)
{'T1': 21, 'T2': 3, 'T3': 64, 'T4': 818, 'T5': 129, 'T6': 44}

>>> main(3264315225358)
{'T1': 14, 'T2': 2, 'T3': 186, 'T4': 44, 'T5': 257, 'T6': 47}

Вариант №36

Задача №8

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

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

Шестнадцатиричная строка.
0 1 2 11 12 21 22 23 24 28 I1 I2 I3 I5

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

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

Тесты:

>>> main('0x12baa254')
[('I1', '0'), ('I2', '149'), ('I3', '938'), ('I5', '18')]

>>> main('0x1e794708')
[('I1', '0'), ('I2', '450'), ('I3', '916'), ('I5', '30')]

>>> main('0x26430ab')
[('I1', '3'), ('I2', '42'), ('I3', '579'), ('I5', '2')]

>>> main('0x223c4bc')
[('I1', '0'), ('I2', '303'), ('I3', '572'), ('I5', '2')]

Вариант №37

Задача №8

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

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

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

0 7 8 16 17 18 19 23 Q1 Q2 Q3 Q4

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

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

0 4 5 6 7 14 15 23 Q4 Q3 Q1 Q2

Тесты:

>>> main('6650140')
'0xbc8e4c'

>>> main('4671223')
'0xa37be8'

>>> main('8201975')
'0x937bcf'

>>> main('182719')
'0x64dfa0'

Вариант №38

Задача №8

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

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

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

0 6 7 14 15 21 22 23 O1 O2 O3 O4 24 30 31 38 39 46 O4 O5 O6

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

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

0 6 7 13 14 21 22 23 O1 O3 O2 O5 24 29 30 37 38 46 O5 O6 O4

Тесты:

>>> main('64254395863071')
'0x645d3828309f'

>>> main('7423845477708')
'0x7f836016ac4c'

>>> main('14822538746713')
'0x2406bd8da859'

>>> main('95031229915566')
'0x2eab3710f3ae'

Вариант №39

Задача №8

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

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

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

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

Десятичная строка.
0 9 10 18 19 20 P1 P3 21 26 27 34 35 41 P3 P4 P5

Тесты:

>>> main(('0x46', '0x82', '0x57', '0x1c'))
'973817774150'

>>> main(('0x3d2', '0x3f', '0xbe', '0x19'))
'884527858642'

>>> main(('0xc6', '0x2', '0xd8', '0x5e'))
'3258807484614'

>>> main(('0xb8', '0x50', '0x11', '0x62'))
'3369578004664'

Вариант №40

Задача №8

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

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

Целое.

0 3 4 8 9 12 13 16 C1 C2 C4

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

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

0 3 4 7 8 12 13 16 C1 C2 C4

Тесты:

>>> main(45518)
'0xbc0e'

>>> main(107484)
'0x1bd0c'

>>> main(104215)
'0x19107'

>>> main(77619)
'0x13303'