ИКБО-04-22

Вариант №1

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 2 3 9 10 11 12 K1 K2 K4

Тесты:

>>> main(('6', '71', '2'))
'0x123e'

>>> main(('7', '95', '1'))
'0xaff'

>>> main(('5', '12', '0'))
'0x65'

>>> main(('6', '4', '3'))
'0x1826'

Вариант №2

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 5 6 7 8 9 14 15 23 S1 S2 S4 S5

Тесты:

>>> main((52, 1, 33, 220))
'0x6e4274'

>>> main((14, 0, 4, 214))
'0x6b080e'

>>> main((35, 0, 25, 141))
'0x46b223'

>>> main((1, 0, 31, 237))
'0x76be01'

Вариант №3

Задача №8

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

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

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

0 4 5 6 8 9 12 13 20 P1 P2 P3 P4 P5

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

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

0 2 3 10 11 12 15 16 20 P3 P5 P2 P4 P1

Тесты:

>>> main('1363580')
'0x1c7d31'

>>> main('1761491')
'0x1306bb'

>>> main('1642156')
'0xc7e42'

>>> main('134044')
'0x1c5086'

Вариант №4

Задача №8

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

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

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

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

Десятичная строка.
0 7 8 15 16 17 K1 K3 18 22 23 30 31 35 K3 K4 K5

Тесты:

>>> main({'K1': 15, 'K3': 14, 'K4': 53, 'K5': 24})
'51985121295'

>>> main({'K1': 63, 'K3': 62, 'K4': 255, 'K5': 28})
'62272700479'

>>> main({'K1': 104, 'K3': 88, 'K4': 247, 'K5': 2})
'6372720744'

>>> main({'K1': 164, 'K3': 62, 'K4': 33, 'K5': 25})
'53967978660'

Вариант №5

Задача №8

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

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

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

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

Десятичная строка.
0 7 8 9 17 18 23 M1 M2 M3

Тесты:

>>> main([('M1', 194), ('M2', 0), ('M3', 146)])
'74946'

>>> main([('M1', 138), ('M2', 1), ('M3', 157)])
'80778'

>>> main([('M1', 29), ('M2', 0), ('M3', 410)])
'209949'

>>> main([('M1', 155), ('M2', 1), ('M3', 146)])
'75163'

Вариант №6

Задача №8

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

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

Целое.
0 6 7 9 10 16 V2 V3 17 18 19 28 29 32 V4 V5 V6

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

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

Тесты:

>>> main(8121689593)
[('V2', '3'), ('V3', '73'), ('V4', '3'), ('V5', '130'), ('V6', '15')]

>>> main(417850151)
[('V2', '6'), ('V3', '120'), ('V4', '3'), ('V5', '796'), ('V6', '0')]

>>> main(356138858)
[('V2', '6'), ('V3', '15'), ('V4', '1'), ('V5', '679'), ('V6', '0')]

>>> main(3628808986)
[('V2', '6'), ('V3', '78'), ('V4', '1'), ('V5', '777'), ('V6', '6')]

Вариант №7

Задача №8

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

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

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

0 3 4 6 7 14 15 16 17 18 R1 R2 R3 R4 R5 R6

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

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

0 2 3 4 5 6 9 10 17 18 R2 R4 R6 R1 R3 R5

Тесты:

>>> main('0x45e2b')
'193250'

>>> main('0x2d88c')
'444168'

>>> main('0x53d8a')
'126640'

>>> main('0x20ac7')
'284100'

Вариант №8

Задача №8

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

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

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

0 2 3 4 5 8 9 14 15 23 X2 X3 X4 X5

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

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

0 1 2 10 11 13 14 17 18 23 X2 X5 X3 X4

Тесты:

>>> main('13591638')
'13141626'

>>> main('10980694')
'1738046'

>>> main('15173227')
'837437'

>>> main('14834593')
'12011280'

Вариант №9

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 1 2 9 10 16 H1 H2 H3 17 19 20 21 29 30 33 H3 H4 H5 H6

Тесты:

>>> main([('H1', 0), ('H2', 35), ('H3', 7), ('H4', 1), ('H5', 444), ('H6', 10)])
'0x2b7901c8c'

>>> main([('H1', 2), ('H2', 0), ('H3', 108), ('H4', 1), ('H5', 479), ('H6', 15)])
'0x3fbf1b002'

>>> main([('H1', 2), ('H2', 44), ('H3', 690), ('H4', 0), ('H5', 217), ('H6', 6)])
'0x19b2ac8b2'

>>> main([('H1', 2), ('H2', 110), ('H3', 155), ('H4', 1), ('H5', 274), ('H6', 5)])
'0x162526dba'

Вариант №10

Задача №8

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

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

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

0 3 4 5 6 14 15 21 22 24 25 26 M2 M3 M4 M5 M6

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

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

0 1 2 5 6 14 15 16 17 19 20 26 M6 M3 M2 M5 M4

Тесты:

>>> main('0x308a943')
'0x1182941'

>>> main('0x397586a')
'0x2ed5841'

>>> main('0x5dde75e')
'0x3bee742'

>>> main('0x3d58b94')
'0x2be8b81'

Вариант №11

Задача №8

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

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

Шестнадцатиричная строка.
0 5 6 9 10 13 14 17 U1 U2 U3 U4 18 23 24 30 31 34 U4 U5

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

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

Тесты:

>>> main('0x7dbe5ad5')
[('U1', '0x15'), ('U2', '0xb'), ('U3', '0x6'), ('U4', '0x2f9'), ('U5', '0x7d')]

>>> main('0x79ca69d3')
[('U1', '0x13'), ('U2', '0x7'), ('U3', '0xa'), ('U4', '0x329'), ('U5', '0x79')]

>>> main('0x2996b787')
[('U1', '0x7'), ('U2', '0xe'), ('U3', '0xd'), ('U4', '0x25a'), ('U5', '0x29')]

>>> main('0x2f779765')
[('U1', '0x25'), ('U2', '0xd'), ('U3', '0x5'), ('U4', '0x1de'), ('U5', '0x2f')]

Вариант №12

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 1 2 8 9 17 18 24 25 26 27 28 R1 R2 R3 R4 R5 R6

Тесты:

>>> main([('R1', '0x1'), ('R2', '0x2a'), ('R3', '0x1b2'), ('R4', '0x5e'), ('R5', '0x0'), ('R6', '0x2')])
'0x117b64a9'

>>> main([('R1', '0x3'), ('R2', '0x52'), ('R3', '0xe4'), ('R4', '0x4'), ('R5', '0x0'), ('R6', '0x0')])
'0x11c94b'

>>> main([('R1', '0x2'), ('R2', '0x35'), ('R3', '0x1cf'), ('R4', '0x7'), ('R5', '0x1'), ('R6', '0x3')])
'0x1a1f9ed6'

>>> main([('R1', '0x1'), ('R2', '0x68'), ('R3', '0x44'), ('R4', '0x3a'), ('R5', '0x0'), ('R6', '0x0')])
'0xe889a1'

Вариант №13

Задача №8

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

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

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

0 2 3 4 5 6 10 11 17 K1 K2 K3 K5

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

Целое.

0 6 7 11 12 13 15 16 17 K5 K2 K1 K3

Тесты:

>>> main('9575')
188420

>>> main('94494')
118830

>>> main('156309')
106572

>>> main('178809')
208983

Вариант №14

Задача №8

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

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

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

0 8 9 12 13 15 V1 V2 V3 16 22 23 30 31 V3 V4 V5

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

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

0 8 9 10 15 V1 V5 V4 16 17 18 27 28 31 V4 V3 V2

Тесты:

>>> main('0x49b23dcc')
'3863367116'

>>> main('0x37ad55fb')
'2779364859'

>>> main('0xf524b080')
'2224532096'

>>> main('0x6d15f701')
'2998888705'

Вариант №15

Задача №8

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

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

Шестнадцатиричная строка.
0 9 10 11 12 20 21 30 V1 V3 V4

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

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

Тесты:

>>> main('0x52c1686c')
[('V1', 108), ('V3', 22), ('V4', 662)]

>>> main('0x7b49d121')
[('V1', 289), ('V3', 157), ('V4', 986)]

>>> main('0x6a3a16e7')
[('V1', 743), ('V3', 417), ('V4', 849)]

>>> main('0x36d237a1')
[('V1', 929), ('V3', 291), ('V4', 438)]

Вариант №16

Задача №8

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

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

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

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

Десятичная строка.
0 9 10 15 16 17 N1 N2 N3 18 24 25 34 N3 N4

Тесты:

>>> main([('N1', '0x115'), ('N2', '0x16'), ('N3', '0x93'), ('N4', '0x1b2')])
'14572280085'

>>> main([('N1', '0xee'), ('N2', '0xb'), ('N3', '0x164'), ('N4', '0x82')])
'4385418478'

>>> main([('N1', '0x30d'), ('N2', '0x35'), ('N3', '0x1ad'), ('N4', '0x177')])
'12611081997'

>>> main([('N1', '0x8c'), ('N2', '0x2f'), ('N3', '0x1c5'), ('N4', '0x1dc')])
'16001645708'

Вариант №17

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 3 4 7 8 13 14 17 Y2 Y3 Y4

Тесты:

>>> main([('Y2', '4'), ('Y3', '24'), ('Y4', '4')])
'0x11840'

>>> main([('Y2', '9'), ('Y3', '60'), ('Y4', '15')])
'0x3fc90'

>>> main([('Y2', '15'), ('Y3', '27'), ('Y4', '13')])
'0x35bf0'

>>> main([('Y2', '6'), ('Y3', '38'), ('Y4', '13')])
'0x36660'

Вариант №18

Задача №8

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

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

Шестнадцатиричная строка.
0 1 2 10 11 15 16 J1 J2 J3 J4

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

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

Тесты:

>>> main('0x15d87')
{'J1': '3', 'J2': '353', 'J3': '11', 'J4': '1'}

>>> main('0x1e17f')
{'J1': '3', 'J2': '95', 'J3': '28', 'J4': '1'}

>>> main('0x1cd5c')
{'J1': '0', 'J2': '343', 'J3': '25', 'J4': '1'}

>>> main('0x17fad')
{'J1': '1', 'J2': '491', 'J3': '15', 'J4': '1'}

Вариант №19

Задача №8

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

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

Целое.

0 1 2 4 5 11 12 17 18 22 23 29 V1 V2 V3 V4 V5 V6

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

Целое.

0 2 3 9 10 11 12 16 17 23 24 29 V2 V3 V1 V5 V6 V4

Тесты:

>>> main(742714757)
246486881

>>> main(1016782706)
770862044

>>> main(390737041)
576530212

>>> main(847944855)
701116197

Вариант №20

Задача №8

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

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

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

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

Целое.
0 4 5 9 10 17 18 23 Z2 Z3 Z4

Тесты:

>>> main({'Z2': '0x2', 'Z3': '0xf2', 'Z4': '0xd'})
3655744

>>> main({'Z2': '0x7', 'Z3': '0x47', 'Z4': '0x2c'})
11607264

>>> main({'Z2': '0x16', 'Z3': '0xbf', 'Z4': '0x26'})
10157760

>>> main({'Z2': '0x16', 'Z3': '0xcd', 'Z4': '0x19'})
6764224

Вариант №21

Задача №8

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

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

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

0 8 9 12 13 14 15 23 W1 W2 W3 W4

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

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

0 3 4 12 13 14 15 23 W2 W4 W3 W1

Тесты:

>>> main('1788589')
'0x56c365'

>>> main('1101750')
'0xdb4217'

>>> main('3526342')
'0x6346b7'

>>> main('10694577')
'0xd8b467'

Вариант №22

Задача №8

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

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

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

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

Целое.
0 8 9 12 13 21 22 24 P1 P2 P3 P4

Тесты:

>>> main({'P1': '0x198', 'P2': '0x4', 'P3': '0x189', 'P4': '0x5'})
24193432

>>> main({'P1': '0x1ed', 'P2': '0xc', 'P3': '0x85', 'P4': '0x0'})
1096173

>>> main({'P1': '0x94', 'P2': '0x1', 'P3': '0x144', 'P4': '0x0'})
2654868

>>> main({'P1': '0x1', 'P2': '0x6', 'P3': '0x36', 'P4': '0x2'})
8834049

Вариант №23

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 8 9 10 11 17 18 V2 V3 V4 V5

Тесты:

>>> main([('V2', '0x1'), ('V3', '0x1'), ('V4', '0x34'), ('V5', '0x1')])
'0x5a600'

>>> main([('V2', '0x0'), ('V3', '0x1'), ('V4', '0x18'), ('V5', '0x0')])
'0xc400'

>>> main([('V2', '0x1'), ('V3', '0x1'), ('V4', '0x2c'), ('V5', '0x1')])
'0x56600'

>>> main([('V2', '0x0'), ('V3', '0x1'), ('V4', '0x11'), ('V5', '0x1')])
'0x48c00'

Вариант №24

Задача №8

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

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

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

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

Десятичная строка.
0 1 2 4 5 7 8 17 18 21 C1 C2 C3 C4 C5

Тесты:

>>> main({'C1': 2, 'C2': 0, 'C3': 6, 'C4': 353, 'C5': 4})
'1139138'

>>> main({'C1': 1, 'C2': 7, 'C3': 6, 'C4': 547, 'C5': 10})
'2761693'

>>> main({'C1': 2, 'C2': 0, 'C3': 5, 'C4': 966, 'C5': 4})
'1296034'

>>> main({'C1': 1, 'C2': 0, 'C3': 1, 'C4': 679, 'C5': 12})
'3319585'

Вариант №25

Задача №8

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

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

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

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

Десятичная строка.
0 7 8 12 13 22 23 25 P1 P2 P3 P4

Тесты:

>>> main({'P1': '0x1f', 'P2': '0x11', 'P3': '0x259', 'P4': '0x4'})
'38482207'

>>> main({'P1': '0x92', 'P2': '0x14', 'P3': '0x29c', 'P4': '0x5'})
'47420562'

>>> main({'P1': '0xcf', 'P2': '0x8', 'P3': '0x20b', 'P4': '0x1'})
'12675279'

>>> main({'P1': '0xda', 'P2': '0x3', 'P3': '0x3a', 'P4': '0x1'})
'8864730'

Вариант №26

Задача №8

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

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

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

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

Целое.
0 6 7 8 12 13 14 M1 M2 M3 M4

Тесты:

>>> main((4, 0, 22, 1))
13828

>>> main((97, 1, 30, 0))
7905

>>> main((78, 1, 12, 2))
19662

>>> main((123, 1, 9, 3))
27131

Вариант №27

Задача №8

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

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

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

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

Десятичная строка.
0 5 6 11 12 14 15 16 W1 W2 W3 W4 17 22 23 32 W6

Тесты:

>>> main(('40', '50', '7', '2', '470'))
'3942743208'

>>> main(('34', '37', '6', '1', '123'))
'1031858530'

>>> main(('42', '47', '1', '2', '418'))
'3506510826'

>>> main(('49', '33', '0', '3', '978'))
'8204159089'

Вариант №28

Задача №8

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

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

Десятичная строка.
0 5 6 11 12 13 14 18 C1 C2 C3

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

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

Тесты:

>>> main('1800')
('8', '28', '0')

>>> main('3687')
('39', '57', '0')

>>> main('4287')
('63', '2', '1')

>>> main('14652')
('60', '36', '3')

Вариант №29

Задача №8

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

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

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

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

Целое.
0 7 8 10 11 14 15 16 17 18 19 27 X1 X2 X3 X4 X5 X6

Тесты:

>>> main({'X1': '73', 'X2': '0', 'X3': '12', 'X4': '0', 'X5': '0', 'X6': '324'})
169893961

>>> main({'X1': '66', 'X2': '6', 'X3': '13', 'X4': '0', 'X5': '2', 'X6': '223'})
117206594

>>> main({'X1': '165', 'X2': '6', 'X3': '14', 'X4': '3', 'X5': '1', 'X6': '53'})
28047013

>>> main({'X1': '18', 'X2': '0', 'X3': '5', 'X4': '3', 'X5': '0', 'X6': '503'})
263825426

Вариант №30

Задача №8

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

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

Десятичная строка.
0 6 7 10 11 17 18 23 24 27 E2 E3 E4 E5

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

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

Тесты:

>>> main('140419679')
('0x4', '0x54', '0x17', '0x8')

>>> main('156025051')
('0x1', '0x18', '0x13', '0x9')

>>> main('87642598')
('0x3', '0x2a', '0xe', '0x5')

>>> main('25887492')
('0x6', '0x60', '0x22', '0x1')

Вариант №31

Задача №8

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

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

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

0 7 8 11 12 14 15 22 U1 U2 U3 U4

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

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

0 7 8 10 11 14 15 22 U1 U3 U2 U4

Тесты:

>>> main('0x75ef97')
'7732887'

>>> main('0x24c037')
'2393143'

>>> main('0x3cac8e')
'3990158'

>>> main('0x648606')
'6598662'

Вариант №32

Задача №8

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

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

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

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

Целое.
0 9 10 18 19 25 26 27 C2 C3 C4

Тесты:

>>> main((263, 38, 3))
221518848

>>> main((21, 64, 2))
167793664

>>> main((322, 28, 3))
216336384

>>> main((218, 71, 0))
37447680

Вариант №33

Задача №8

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

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

Целое.

0 2 3 12 13 17 B1 B2 B3 18 20 21 26 27 35 B3 B5

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

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

0 5 6 8 9 16 17 B1 B3 B2 18 26 27 35 B2 B5

Тесты:

>>> main(5177609195)
'5150326976'

>>> main(23479870606)
'23372900224'

>>> main(53487079531)
'53487550656'

>>> main(24738094128)
'24814294016'

Вариант №34

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 3 4 12 13 14 15 16 17 19 20 22 S1 S2 S3 S5 S6

Тесты:

>>> main([('S1', '13'), ('S2', '420'), ('S3', '3'), ('S5', '4'), ('S6', '7')])
'0x787a4d'

>>> main([('S1', '1'), ('S2', '286'), ('S3', '1'), ('S5', '5'), ('S6', '5')])
'0x5a31e1'

>>> main([('S1', '3'), ('S2', '338'), ('S3', '3'), ('S5', '0'), ('S6', '6')])
'0x607523'

>>> main([('S1', '0'), ('S2', '325'), ('S3', '1'), ('S5', '7'), ('S6', '3')])
'0x3e3450'

Вариант №35

Задача №8

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

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

Целое.

0 9 10 19 20 21 22 30 Y1 Y2 Y3 Y4

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

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

0 9 10 11 12 20 21 30 Y1 Y3 Y4 Y2

Тесты:

>>> main(957318139)
'2081309691'

>>> main(685567740)
'1735014140'

>>> main(2101353554)
'16732242'

>>> main(1606521457)
'211284593'

Вариант №36

Задача №8

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

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

Целое.

0 8 9 10 11 15 16 Z1 Z2 Z3 Z4 17 20 21 26 27 32 Z4 Z5 Z6

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

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

0 5 6 7 8 12 13 16 Z5 Z2 Z4 Z3 17 18 23 24 32 Z3 Z6 Z1

Тесты:

>>> main(4576024458)
'6619283654'

>>> main(7931630681)
'1508656006'

>>> main(6896983050)
'181303192'

>>> main(733592295)
'3877042525'

Вариант №37

Задача №8

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

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

Шестнадцатиричная строка.
0 2 3 11 12 20 21 27 J1 J2 J3

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

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

Тесты:

>>> main('0x6e48f')
{'J1': '7', 'J2': '145', 'J3': '110'}

>>> main('0x122e7')
{'J1': '7', 'J2': '92', 'J3': '18'}

>>> main('0x1122ee')
{'J1': '6', 'J2': '93', 'J3': '274'}

>>> main('0x1c7eba')
{'J1': '2', 'J2': '471', 'J3': '455'}

Вариант №38

Задача №8

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

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

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

0 1 2 3 4 8 9 12 13 18 19 27 P1 P2 P3 P4 P5

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

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

0 1 2 6 7 10 11 12 13 21 22 27 P1 P3 P4 P2 P5

Тесты:

>>> main('0x15a78')
'41948828'

>>> main('0x138d3')
'37750327'

>>> main('0x312a7')
'100666539'

>>> main('0x46ba')
'8393134'

Вариант №39

Задача №8

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

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

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

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

Целое.
0 1 2 6 7 10 11 Y1 Y2 Y3 Y4

Тесты:

>>> main({'Y1': '0x3', 'Y2': '0x2', 'Y3': '0x7', 'Y4': '0x0'})
907

>>> main({'Y1': '0x3', 'Y2': '0x6', 'Y3': '0xa', 'Y4': '0x0'})
1307

>>> main({'Y1': '0x2', 'Y2': '0x0', 'Y3': '0x2', 'Y4': '0x0'})
258

>>> main({'Y1': '0x1', 'Y2': '0x6', 'Y3': '0xb', 'Y4': '0x1'})
3481

Вариант №40

Задача №8

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

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

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

0 6 7 14 15 16 W1 W2 W3 17 22 23 32 W3 W4

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

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

0 7 8 15 16 W2 W3 W4 17 25 26 32 W4 W1

Тесты:

>>> main('4635782596')
'4599619803'

>>> main('4718394292')
'3526523383'

>>> main('403960235')
'2888837091'

>>> main('6466626996')
'3540181451'