ИКБО-16-22

Вариант №1

Задача №8

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

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

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

0 1 2 10 11 12 13 17 18 19 E1 E3 E4 E5

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

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

0 1 2 3 4 12 13 14 15 19 E1 E3 E5 E4

Тесты:

>>> main('211016')
'0xc800c'

>>> main('465207')
'0xc200f'

>>> main('202618')
'0xc000a'

>>> main('980689')
'0xbe009'

Вариант №2

Задача №8

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

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

Десятичная строка.
0 8 9 14 15 16 W2 W3 17 19 20 28 29 30 31 33 W3 W4 W5 W6

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

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

Тесты:

>>> main('12525048992')
{'W2': '0xa', 'W3': '0x1a', 'W4': '0xa8', 'W5': '0x3', 'W6': '0x5'}

>>> main('12346976967')
{'W2': '0x35', 'W3': '0x1f', 'W4': '0x1fe', 'W5': '0x2', 'W6': '0x5'}

>>> main('12058933912')
{'W2': '0x1d', 'W3': '0x9', 'W4': '0xec', 'W5': '0x2', 'W6': '0x5'}

>>> main('15997905479')
{'W2': '0x15', 'W3': '0x19', 'W4': '0x198', 'W5': '0x1', 'W6': '0x7'}

Вариант №3

Задача №8

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

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

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

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

Целое.
0 4 5 7 8 9 17 18 19 D2 D3 D4 D5

Тесты:

>>> main([('D2', '0x6'), ('D3', '0x1'), ('D4', '0x129'), ('D5', '0x1')])
414656

>>> main([('D2', '0x2'), ('D3', '0x1'), ('D4', '0x3b'), ('D5', '0x2')])
554816

>>> main([('D2', '0x5'), ('D3', '0x1'), ('D4', '0x1ae'), ('D5', '0x3')])
1007008

>>> main([('D2', '0x0'), ('D3', '0x1'), ('D4', '0x132'), ('D5', '0x3')])
943360

Вариант №4

Задача №8

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

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

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

0 8 9 16 17 25 26 Z1 Z3 Z4

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

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

0 7 8 9 17 18 26 Z4 Z1 Z3

Тесты:

>>> main('72336543')
'0x9d3f00'

>>> main('31907436')
'0x3ccd800'

>>> main('90007020')
'0x2bbd900'

>>> main('65476205')
'0x7ccda00'

Вариант №5

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 4 5 12 13 21 22 28 K1 K2 K3 K4

Тесты:

>>> main([('K1', '12'), ('K2', '214'), ('K3', '11'), ('K4', '105')])
'0x1a417acc'

>>> main([('K1', '13'), ('K2', '96'), ('K3', '128'), ('K4', '127')])
'0x1fd00c0d'

>>> main([('K1', '13'), ('K2', '51'), ('K3', '377'), ('K4', '51')])
'0xcef266d'

>>> main([('K1', '17'), ('K2', '163'), ('K3', '316'), ('K4', '72')])
'0x12279471'

Вариант №6

Задача №8

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

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

Целое.
0 8 9 16 D1 D2 17 18 19 25 26 32 D2 D3 D4

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

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

Тесты:

>>> main(3095094513)
{'D1': '0xf1', 'D2': '0x1b2', 'D3': '0xf', 'D4': '0x2e'}

>>> main(4793689546)
{'D1': '0x1ca', 'D2': '0xf2', 'D3': '0x37', 'D4': '0x47'}

>>> main(231903980)
{'D1': '0xec', 'D2': '0x149', 'D3': '0x3a', 'D4': '0x3'}

>>> main(3388872479)
{'D1': '0x11f', 'D2': '0x30b', 'D3': '0x3f', 'D4': '0x32'}

Вариант №7

Задача №8

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

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

Шестнадцатиричная строка.
0 9 10 12 13 20 21 26 J2 J3 J4

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

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

Тесты:

>>> main('0x60f4954')
[('J2', '2'), ('J3', '122'), ('J4', '48')]

>>> main('0x6784363')
[('J2', '0'), ('J3', '194'), ('J4', '51')]

>>> main('0x7a6473d')
[('J2', '1'), ('J3', '50'), ('J4', '61')]

>>> main('0x1dec21')
[('J2', '3'), ('J3', '239'), ('J4', '0')]

Вариант №8

Задача №8

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

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

Целое.
0 1 10 11 17 18 19 20 23 24 28 C1 C3 C4 C5 C6

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

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

Тесты:

>>> main(375041258)
('0x0', '0x55', '0x2', '0x5', '0x16')

>>> main(315950387)
('0x1', '0x20', '0x1', '0xd', '0x12')

>>> main(226050732)
('0x0', '0x28', '0x2', '0x7', '0xd')

>>> main(384078642)
('0x0', '0x12', '0x1', '0xe', '0x16')

Вариант №9

Задача №8

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

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

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

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

Целое.
0 4 5 7 8 13 14 15 16 24 M1 M2 M3 M4 M5

Тесты:

>>> main(('0x1b', '0x4', '0xf', '0x2', '0x2c'))
2920347

>>> main(('0x15', '0x2', '0x2d', '0x2', '0x1d3'))
30649685

>>> main(('0xc', '0x1', '0x2a', '0x1', '0x1b3'))
28535340

>>> main(('0x19', '0x5', '0x36', '0x2', '0x51'))
5355193

Вариант №10

Задача №8

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

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

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

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

Десятичная строка.
0 6 7 14 15 19 20 23 24 25 L2 L3 L4 L5

Тесты:

>>> main(('0x61', '0x8', '0x2', '0x2'))
'35926144'

>>> main(('0xfc', '0x5', '0x8', '0x0'))
'8584704'

>>> main(('0xd0', '0x12', '0x3', '0x0'))
'3762176'

>>> main(('0x5d', '0x7', '0x0', '0x3'))
'50572928'

Вариант №11

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 9 10 11 15 16 H1 H2 H3 17 24 25 26 32 H5 H6

Тесты:

>>> main(('0x96', '0x1', '0x0', '0x0', '0x7b'))
'0x1ec000496'

>>> main(('0x9a', '0x0', '0x4', '0x0', '0x48'))
'0x12000209a'

>>> main(('0x3c4', '0x1', '0x1', '0x1', '0x6d'))
'0x1b6000fc4'

>>> main(('0x3ad', '0x1', '0xc', '0x1', '0x75'))
'0x1d60067ad'

Вариант №12

Задача №8

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

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

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

0 5 6 10 11 15 G1 G2 G3 16 19 20 26 27 30 31 G3 G4 G5

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

Целое.

0 6 7 10 11 15 G4 G5 G2 16 17 25 26 31 G3 G1

Тесты:

>>> main('2113000408')
1618247647

>>> main('1754773873')
3320721033

>>> main('1891154883')
237928203

>>> main('1322579848')
557642989

Вариант №13

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 6 7 11 12 18 19 25 26 28 R1 R2 R3 R5

Тесты:

>>> main(('68', '23', '36', '0'))
'0x24bc4'

>>> main(('28', '7', '11', '3'))
'0xc00b39c'

>>> main(('103', '7', '124', '6'))
'0x1807c3e7'

>>> main(('56', '29', '95', '2'))
'0x805feb8'

Вариант №14

Задача №8

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

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

Десятичная строка.
0 3 4 5 14 15 16 D1 D2 D4 17 24 25 31 32 D4 D5 D6

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

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

Тесты:

>>> main('954582713')
[('D1', '0x9'), ('D2', '0x1'), ('D4', '0x1cb'), ('D5', '0x1c'), ('D6', '0x0')]

>>> main('8076740549')
[('D1', '0x5'), ('D2', '0x0'), ('D4', '0x2d2'), ('D5', '0x70'), ('D6', '0x1')]

>>> main('3612890394')
[('D1', '0xa'), ('D2', '0x1'), ('D4', '0x2b0'), ('D5', '0x6b'), ('D6', '0x0')]

>>> main('828370810')
[('D1', '0xa'), ('D2', '0x1'), ('D4', '0x2bf'), ('D5', '0x18'), ('D6', '0x0')]

Вариант №15

Задача №8

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

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

Десятичная строка.
0 1 2 4 5 8 9 15 16 18 H1 H2 H3 H4 H5

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

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

Тесты:

>>> main('437629')
[('H1', 1), ('H2', 7), ('H3', 11), ('H4', 86), ('H5', 6)]

>>> main('241033')
[('H1', 1), ('H2', 2), ('H3', 12), ('H4', 86), ('H5', 3)]

>>> main('334338')
[('H1', 2), ('H2', 0), ('H3', 0), ('H4', 13), ('H5', 5)]

>>> main('464220')
[('H1', 0), ('H2', 7), ('H3', 10), ('H4', 10), ('H5', 7)]

Вариант №16

Задача №8

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

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

Целое.
0 6 7 11 12 13 14 Z1 Z2 Z3 Z4

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

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

Тесты:

>>> main(13906)
[('Z1', '82'), ('Z2', '12'), ('Z3', '1'), ('Z4', '1')]

>>> main(11781)
[('Z1', '5'), ('Z2', '28'), ('Z3', '0'), ('Z4', '1')]

>>> main(29536)
[('Z1', '96'), ('Z2', '6'), ('Z3', '1'), ('Z4', '3')]

>>> main(23729)
[('Z1', '49'), ('Z2', '25'), ('Z3', '1'), ('Z4', '2')]

Вариант №17

Задача №8

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

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

Целое.

0 2 3 11 12 13 14 16 W1 W2 W3

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

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

0 2 3 4 5 7 8 16 W3 W1 W2

Тесты:

>>> main(12628)
'0x2a98'

>>> main(14153)
'0xe938'

>>> main(3042)
'0x17c40'

>>> main(11506)
'0x19e50'

Вариант №18

Задача №8

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

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

Десятичная строка.
0 6 7 12 13 22 23 30 A1 A2 A3 A4

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

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

Тесты:

>>> main('1855007600')
{'A1': '0x70', 'A2': '0x16', 'A3': '0x89', 'A4': '0xdd'}

>>> main('1893430560')
{'A1': '0x20', 'A2': '0x2a', 'A3': '0x2db', 'A4': '0xe1'}

>>> main('1393105959')
{'A1': '0x27', 'A2': '0x38', 'A3': '0x48', 'A4': '0xa6'}

>>> main('179266378')
{'A1': '0x4a', 'A2': '0x6', 'A3': '0x17b', 'A4': '0x15'}

Вариант №19

Задача №8

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

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

Целое.

0 2 3 4 5 6 12 13 17 Q1 Q3 Q4 Q5

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

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

0 2 3 7 8 14 15 16 17 Q1 Q5 Q4 Q3

Тесты:

>>> main(251599)
'0x5bf7'

>>> main(22580)
'0x36014'

>>> main(125385)
'0x2779'

>>> main(250236)
'0x345f4'

Вариант №20

Задача №8

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

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

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

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

Десятичная строка.
0 1 10 11 17 18 21 B1 B2 B3 B4

Тесты:

>>> main(('0x1', '0x1cb', '0x51', '0x6'))
'1739671'

>>> main(('0x0', '0x165', '0x6b', '0xa'))
'2841290'

>>> main(('0x1', '0x142', '0x6f', '0x1'))
'490117'

>>> main(('0x1', '0x359', '0x69', '0x5'))
'1527475'

Вариант №21

Задача №8

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

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

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

0 6 7 8 10 11 15 T1 T2 T4

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

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

0 2 3 9 10 14 15 T1 T4 T2

Тесты:

>>> main('26110')
'46064'

>>> main('8917')
'37544'

>>> main('34167')
'17336'

>>> main('8023')
'3768'

Вариант №22

Задача №8

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

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

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

0 8 9 18 E1 E2 19 28 29 30 31 32 33 36 E3 E4 E5

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

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

0 1 2 3 4 13 14 18 E5 E4 E2 E1 19 22 23 32 33 36 E1 E3

Тесты:

>>> main('344509065')
'5513561680'

>>> main('3657036948')
'6973362089'

>>> main('2969968184')
'4564332789'

>>> main('4560384753')
'4248588178'

Вариант №23

Задача №8

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

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

Целое.
0 7 8 17 18 19 O1 O2 O3 20 28 29 31 32 38 O4 O5 O6

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

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

Тесты:

>>> main(393323914018)
[('O1', 34), ('O2', 675), ('O3', 3), ('O4', 318), ('O5', 4), ('O6', 91)]

>>> main(346692999323)
[('O1', 155), ('O2', 856), ('O3', 0), ('O4', 392), ('O5', 5), ('O6', 80)]

>>> main(192564225101)
[('O1', 77), ('O2', 228), ('O3', 2), ('O4', 347), ('O5', 6), ('O6', 44)]

>>> main(71643638933)
[('O1', 149), ('O2', 812), ('O3', 2), ('O4', 228), ('O5', 5), ('O6', 16)]

Вариант №24

Задача №8

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

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

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

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

Десятичная строка.
0 2 3 6 7 12 13 16 17 21 S1 S2 S3 S4 S5

Тесты:

>>> main(('0', '0', '46', '0', '27'))
'3544832'

>>> main(('7', '9', '20', '4', '31'))
'4098639'

>>> main(('3', '8', '25', '11', '14'))
'1928387'

>>> main(('4', '13', '14', '5', '13'))
'1746796'

Вариант №25

Задача №8

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

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

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

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

Десятичная строка.
0 9 10 13 14 15 16 19 H1 H2 H3 H4 20 24 25 29 30 38 H4 H5 H6

Тесты:

>>> main([('H1', 614), ('H2', 14), ('H3', 2), ('H4', 417), ('H5', 13), ('H6', 173)])
'186220919398'

>>> main([('H1', 718), ('H2', 3), ('H3', 0), ('H4', 169), ('H5', 0), ('H6', 463)])
'497153543886'

>>> main([('H1', 243), ('H2', 11), ('H3', 2), ('H4', 377), ('H5', 15), ('H6', 188)])
'202391530739'

>>> main([('H1', 834), ('H2', 4), ('H3', 0), ('H4', 228), ('H5', 15), ('H6', 355)])
'381696611138'

Вариант №26

Задача №8

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

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

Десятичная строка.
0 5 6 13 14 19 Y1 Y2 Y3 20 21 22 28 29 31 32 39 Y3 Y4 Y6

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

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

Тесты:

>>> main('222522115698')
{'Y1': '0x32', 'Y2': '0x19', 'Y3': '0x68', 'Y4': '0x3d', 'Y6': '0x33'}

>>> main('715552557710')
{'Y1': '0xe', 'Y2': '0x2a', 'Y3': '0x6', 'Y4': '0x69', 'Y6': '0xa6'}

>>> main('522738020407')
{'Y1': '0x37', 'Y2': '0xc0', 'Y3': '0x74', 'Y4': '0x56', 'Y6': '0x79'}

>>> main('780015272488')
{'Y1': '0x28', 'Y2': '0x8', 'Y3': '0x22', 'Y4': '0x72', 'Y6': '0xb5'}

Вариант №27

Задача №8

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

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

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

0 1 10 11 16 17 18 19 20 M2 M3 M4 M5

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

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

0 1 2 3 4 5 10 11 20 M5 M4 M3 M2

Тесты:

>>> main('981205')
'0x353fa'

>>> main('1146068')
'0x1355e4'

>>> main('650625')
'0x1607a2'

>>> main('1643957')
'0x16d446'

Вариант №28

Задача №8

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

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

Шестнадцатиричная строка.
0 1 2 11 12 21 22 Y1 Y2 Y4

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

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

Тесты:

>>> main('0x3869d5')
[('Y1', '1'), ('Y2', '629'), ('Y4', '0')]

>>> main('0x23eef9')
[('Y1', '1'), ('Y2', '958'), ('Y4', '0')]

>>> main('0x60c3f2')
[('Y1', '2'), ('Y2', '252'), ('Y4', '1')]

>>> main('0x4492b7')
[('Y1', '3'), ('Y2', '173'), ('Y4', '1')]

Вариант №29

Задача №8

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

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

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

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

Целое.
0 5 6 10 11 18 19 27 28 30 A1 A2 A3 A4 A5

Тесты:

>>> main({'A1': '41', 'A2': '27', 'A3': '20', 'A4': '407', 'A5': '0'})
213427945

>>> main({'A1': '21', 'A2': '17', 'A3': '57', 'A4': '281', 'A5': '5'})
1489620053

>>> main({'A1': '26', 'A2': '15', 'A3': '236', 'A4': '60', 'A5': '6'})
1642554330

>>> main({'A1': '39', 'A2': '25', 'A3': '71', 'A4': '294', 'A5': '0'})
154287719

Вариант №30

Задача №8

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

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

Целое.
0 8 9 16 17 L1 L2 L3 18 22 23 31 32 34 L3 L4

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

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

Тесты:

>>> main(3481730819)
[('L1', '259'), ('L2', '127'), ('L3', '3'), ('L4', '415')]

>>> main(3434064664)
[('L1', '280'), ('L2', '213'), ('L3', '23'), ('L4', '409')]

>>> main(258270797)
[('L1', '77'), ('L2', '115'), ('L3', '50'), ('L4', '30')]

>>> main(2095228015)
[('L1', '111'), ('L2', '82'), ('L3', '49'), ('L4', '249')]

Вариант №31

Задача №8

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

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

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

0 4 5 6 11 12 21 F2 F3 F4

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

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

0 5 6 7 16 17 21 F3 F2 F4

Тесты:

>>> main('1342288')
'41901'

>>> main('817046')
'25502'

>>> main('804529')
'25178'

>>> main('3845419')
'120180'

Вариант №32

Задача №8

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

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

Целое.
0 1 6 7 9 10 17 O2 O3 O4

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

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

Тесты:

>>> main(256252)
[('O2', '62'), ('O3', '1'), ('O4', '250')]

>>> main(124374)
[('O2', '43'), ('O3', '3'), ('O4', '121')]

>>> main(3508)
[('O2', '26'), ('O3', '3'), ('O4', '3')]

>>> main(255609)
[('O2', '60'), ('O3', '4'), ('O4', '249')]

Вариант №33

Задача №8

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

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

Десятичная строка.
0 1 10 11 20 21 O1 O2 O3 O4

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

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

Тесты:

>>> main('1036300')
[('O1', '0x0'), ('O2', '0x6'), ('O3', '0x1fa'), ('O4', '0x0')]

>>> main('1981325')
[('O1', '0x1'), ('O2', '0x1c6'), ('O3', '0x3c7'), ('O4', '0x0')]

>>> main('2506904')
[('O1', '0x0'), ('O2', '0x4c'), ('O3', '0xc8'), ('O4', '0x1')]

>>> main('3499073')
[('O1', '0x1'), ('O2', '0x220'), ('O3', '0x2ac'), ('O4', '0x1')]

Вариант №34

Задача №8

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

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

Шестнадцатиричная строка.
0 7 8 13 14 15 17 18 22 Z1 Z2 Z3 Z4 Z5

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

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

Тесты:

>>> main('0x5b1eda')
{'Z1': '218', 'Z2': '30', 'Z3': '0', 'Z4': '6', 'Z5': '22'}

>>> main('0x26db32')
{'Z1': '50', 'Z2': '27', 'Z3': '1', 'Z4': '5', 'Z5': '9'}

>>> main('0x201409')
{'Z1': '9', 'Z2': '20', 'Z3': '0', 'Z4': '0', 'Z5': '8'}

>>> main('0x94da4')
{'Z1': '164', 'Z2': '13', 'Z3': '1', 'Z4': '2', 'Z5': '2'}

Вариант №35

Задача №8

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

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

Целое.
0 3 4 9 10 17 18 20 21 23 B1 B2 B3 B4 B5

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

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

Тесты:

>>> main(5020908)
[('B1', '0xc'), ('B2', '0xe'), ('B3', '0x27'), ('B4', '0x3'), ('B5', '0x2')]

>>> main(14097749)
[('B1', '0x5'), ('B2', '0x15'), ('B3', '0xc7'), ('B4', '0x5'), ('B5', '0x6')]

>>> main(5565287)
[('B1', '0x7'), ('B2', '0x36'), ('B3', '0x3a'), ('B4', '0x5'), ('B5', '0x2')]

>>> main(10372166)
[('B1', '0x6'), ('B2', '0x4'), ('B3', '0x91'), ('B4', '0x7'), ('B5', '0x4')]

Вариант №36

Задача №8

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

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

Шестнадцатиричная строка.
0 9 10 15 16 18 19 24 25 29 D1 D2 D3 D4

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

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

Тесты:

>>> main('0xa68b72')
[('D1', 882), ('D2', 34), ('D3', 6), ('D4', 20)]

>>> main('0x187f4a3')
[('D1', 163), ('D2', 61), ('D3', 7), ('D4', 48)]

>>> main('0x2762f8')
[('D1', 760), ('D2', 24), ('D3', 7), ('D4', 4)]

>>> main('0xe91b48')
[('D1', 840), ('D2', 6), ('D3', 1), ('D4', 29)]

Вариант №37

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 6 7 8 16 17 23 24 26 E1 E2 E3 E4

Тесты:

>>> main(('83', '0', '197', '96'))
'0xc0c553'

>>> main(('119', '0', '227', '63'))
'0x7ee377'

>>> main(('87', '0', '110', '6'))
'0xc6e57'

>>> main(('60', '0', '462', '125'))
'0xfbce3c'

Вариант №38

Задача №8

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

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

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

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

Целое.
0 1 7 8 16 P1 P2 P3 17 24 25 27 28 33 P4 P5 P6

Тесты:

>>> main([('P1', '0'), ('P2', '115'), ('P3', '457'), ('P4', '213'), ('P5', '0'), ('P6', '3')])
833341926

>>> main([('P1', '0'), ('P2', '17'), ('P3', '483'), ('P4', '174'), ('P5', '4'), ('P6', '39')])
10626130722

>>> main([('P1', '0'), ('P2', '46'), ('P3', '98'), ('P4', '239'), ('P5', '1'), ('P6', '44')])
11876065884

>>> main([('P1', '0'), ('P2', '33'), ('P3', '404'), ('P4', '63'), ('P5', '0'), ('P6', '62')])
16651359298

Вариант №39

Задача №8

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

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

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

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

Целое.
0 5 6 12 13 20 H1 H2 H3 21 25 26 35 36 41 H4 H6

Тесты:

>>> main(('31', '44', '90', '26', '23'))
1580603231007

>>> main(('61', '120', '192', '13', '44'))
3023685819965

>>> main(('40', '58', '73', '23', '49'))
3367303196328

>>> main(('62', '47', '241', '22', '52'))
3573460904958

Вариант №40

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 8 9 16 17 21 22 23 J1 J2 J3 J4

Тесты:

>>> main(('320', '8', '26', '1'))
'0x741140'

>>> main(('293', '245', '26', '3'))
'0xf5eb25'

>>> main(('369', '96', '4', '2'))
'0x88c171'

>>> main(('153', '30', '12', '1'))
'0x583c99'