ИКБО-19-22

Вариант №1

Задача №8

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

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

Десятичная строка.
0 8 9 10 11 18 19 20 21 30 M1 M2 M4 M5

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

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

Тесты:

>>> main('2109764537')
{'M1': '441', 'M2': '1', 'M4': '0', 'M5': '1006'}

>>> main('670382672')
{'M1': '80', 'M2': '1', 'M4': '2', 'M5': '319'}

>>> main('1759339280')
{'M1': '272', 'M2': '1', 'M4': '3', 'M5': '838'}

>>> main('475904012')
{'M1': '12', 'M2': '0', 'M4': '3', 'M5': '226'}

Вариант №2

Задача №8

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

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

Целое.
0 2 3 7 8 12 13 21 R1 R3 R4

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

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

Тесты:

>>> main(1490778)
{'R1': 2, 'R3': 31, 'R4': 181}

>>> main(3711111)
{'R1': 7, 'R3': 0, 'R4': 453}

>>> main(2123012)
{'R1': 4, 'R3': 5, 'R4': 259}

>>> main(3375465)
{'R1': 1, 'R3': 1, 'R4': 412}

Вариант №3

Задача №8

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

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

Целое.

0 6 7 16 17 19 20 27 28 Y1 Y2 Y3 Y4 Y5

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

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

0 1 10 11 13 14 20 21 28 Y5 Y2 Y3 Y1 Y4

Тесты:

>>> main(490347675)
'0x1a66e873'

>>> main(337531181)
'0x82b7945'

>>> main(214778741)
'0x199d750c'

>>> main(150346197)
'0x11f55866'

Вариант №4

Задача №8

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

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

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

0 5 6 13 14 19 20 25 Y2 Y3 Y4

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

Целое.

0 5 6 11 12 17 18 25 Y4 Y3 Y2

Тесты:

>>> main('0x1d5bfed')
66938688

>>> main('0x99a223')
35807808

>>> main('0x22908b1')
9062528

>>> main('0x28d2ab3')
44780032

Вариант №5

Задача №8

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

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

Целое.
0 4 5 14 15 23 24 26 27 28 29 J2 J3 J4 J5 J6

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

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

Тесты:

>>> main(408926231)
{'J2': 448, 'J3': 191, 'J4': 0, 'J5': 3, 'J6': 0}

>>> main(646911473)
{'J2': 175, 'J3': 286, 'J4': 6, 'J5': 0, 'J6': 1}

>>> main(326967483)
{'J2': 261, 'J3': 250, 'J4': 3, 'J5': 2, 'J6': 0}

>>> main(386871865)
{'J2': 401, 'J3': 30, 'J4': 7, 'J5': 2, 'J6': 0}

Вариант №6

Задача №8

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

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

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

0 7 8 10 11 19 20 26 Z1 Z3 Z4

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

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

0 2 3 11 12 18 19 26 Z3 Z4 Z1

Тесты:

>>> main('0x14ada97')
'0x4b94ad8'

>>> main('0x6d1c8be')
'0x5f6d1c8'

>>> main('0x30e5044')
'0x2230e50'

>>> main('0x4df2b76')
'0x3b4df28'

Вариант №7

Задача №8

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

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

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

0 7 8 15 16 17 18 19 22 23 X1 X2 X3 X4 X5 X6

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

Целое.

0 3 4 11 12 19 20 21 22 23 X5 X1 X2 X3 X4 X6

Тесты:

>>> main('0x7824ee')
151279

>>> main('0xfbb668')
12281487

>>> main('0xc0e33d')
9319384

>>> main('0x871eb8')
15854464

Вариант №8

Задача №8

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

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

Целое.
0 9 10 11 12 13 15 K1 K2 K3 K5

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

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

Тесты:

>>> main(21803)
[('K1', '299'), ('K2', '1'), ('K3', '0'), ('K5', '2')]

>>> main(45729)
[('K1', '673'), ('K2', '0'), ('K3', '0'), ('K5', '5')]

>>> main(13236)
[('K1', '948'), ('K2', '0'), ('K3', '0'), ('K5', '1')]

>>> main(17350)
[('K1', '966'), ('K2', '0'), ('K3', '0'), ('K5', '2')]

Вариант №9

Задача №8

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

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

Десятичная строка.
0 9 10 15 E1 16 19 20 26 27 31 E3 E4

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

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

Тесты:

>>> main('3538758600')
{'E1': '968', 'E3': '46', 'E4': '26'}

>>> main('3567275222')
{'E1': '214', 'E3': '74', 'E4': '26'}

>>> main('3996780293')
{'E1': '773', 'E3': '99', 'E4': '29'}

>>> main('3951475040')
{'E1': '352', 'E3': '56', 'E4': '29'}

Вариант №10

Задача №8

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

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

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

0 6 7 15 16 22 23 25 J1 J3 J4

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

Целое.

0 6 7 9 10 16 17 25 J1 J4 J3

Тесты:

>>> main('0x1db20a2')
93602

>>> main('0x3bdb708')
63368

>>> main('0x10b09a6')
11558

>>> main('0x28e64d')
41037

Вариант №11

Задача №8

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

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

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

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

Целое.
0 8 9 15 16 21 22 24 A1 A2 A3 A4

Тесты:

>>> main((15, 88, 50, 3))
15904783

>>> main((367, 81, 24, 0))
1614703

>>> main((424, 41, 53, 1))
7689128

>>> main((91, 54, 46, 0))
3042395

Вариант №12

Задача №8

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

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

Десятичная строка.
0 2 3 8 9 12 13 20 Q1 Q2 Q3

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

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

Тесты:

>>> main('6393')
[('Q1', 1), ('Q2', 31), ('Q3', 12)]

>>> main('179')
[('Q1', 3), ('Q2', 22), ('Q3', 0)]

>>> main('1754')
[('Q1', 2), ('Q2', 27), ('Q3', 3)]

>>> main('6135')
[('Q1', 7), ('Q2', 62), ('Q3', 11)]

Вариант №13

Задача №8

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

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

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

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

Десятичная строка.
0 8 9 11 12 20 21 27 I1 I2 I3 I4

Тесты:

>>> main(('206', '4', '250', '10'))
'21997774'

>>> main(('7', '5', '363', '22'))
'47626759'

>>> main(('62', '0', '484', '117'))
'247349310'

>>> main(('451', '1', '260', '79'))
'166740931'

Вариант №14

Задача №8

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

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

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

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

Десятичная строка.
0 4 5 8 9 15 16 18 19 20 Q1 Q2 Q3 Q4 Q5

Тесты:

>>> main({'Q1': '0x1d', 'Q2': '0xd', 'Q3': '0x61', 'Q4': '0x2', 'Q5': '0x0'})
'181181'

>>> main({'Q1': '0x6', 'Q2': '0x3', 'Q3': '0x71', 'Q4': '0x7', 'Q5': '0x3'})
'2089574'

>>> main({'Q1': '0x13', 'Q2': '0xe', 'Q3': '0x38', 'Q4': '0x6', 'Q5': '0x0'})
'422355'

>>> main({'Q1': '0x8', 'Q2': '0x1', 'Q3': '0x0', 'Q4': '0x5', 'Q5': '0x2'})
'1376296'

Вариант №15

Задача №8

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

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

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

0 5 6 11 12 16 17 21 22 25 26 30 M2 M3 M4 M5 M6

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

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

0 3 4 9 10 14 15 19 20 24 25 30 M5 M2 M4 M6 M3

Тесты:

>>> main('0x6bcfe42c')
'32316687'

>>> main('0x1f29ea71')
'31707804'

>>> main('0x42dd0417')
'17316107'

>>> main('0x38efc281')
'29842595'

Вариант №16

Задача №8

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

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

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

0 1 9 10 17 18 22 23 24 Q1 Q2 Q3 Q4 Q5

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

Целое.

0 1 8 9 17 18 19 20 24 Q1 Q3 Q2 Q5 Q4

Тесты:

>>> main('11192722')
10851172

>>> main('31138336')
23994768

>>> main('21618455')
19601135

>>> main('32933474')
31351618

Вариант №17

Задача №8

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

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

Шестнадцатиричная строка.
0 5 6 13 14 19 J1 J2 J3 20 23 24 30 31 39 J3 J4 J5

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

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

Тесты:

>>> main('0xe7f484b02c')
('0x2c', '0xc0', '0x212', '0x74', '0x1cf')

>>> main('0xee5fd39135')
('0x35', '0x44', '0x34e', '0x5f', '0x1dc')

>>> main('0xddc956490c')
('0xc', '0x24', '0x159', '0x49', '0x1bb')

>>> main('0x27a6b19cef')
('0x2f', '0x73', '0x2c6', '0x26', '0x4f')

Вариант №18

Задача №8

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

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

Десятичная строка.
0 9 10 16 17 24 T1 T2 T3 25 26 27 30 31 39 40 48 T3 T4 T5 T6

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

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

Тесты:

>>> main('217003238185173')
[('T1', 213), ('T2', 86), ('T3', 118), ('T4', 0), ('T5', 186), ('T6', 197)]

>>> main('327626842145381')
[('T1', 613), ('T2', 96), ('T3', 197), ('T4', 2), ('T5', 499), ('T6', 297)]

>>> main('451545107208614')
[('T1', 422), ('T2', 70), ('T3', 219), ('T4', 1), ('T5', 347), ('T6', 410)]

>>> main('1664941319106')
[('T1', 962), ('T2', 24), ('T3', 798), ('T4', 4), ('T5', 263), ('T6', 1)]

Вариант №19

Задача №8

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

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

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

0 1 5 6 9 10 17 18 19 28 W1 W2 W3 W4 W5 W6

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

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

0 1 2 6 7 14 15 24 25 28 W5 W1 W2 W4 W6 W3

Тесты:

>>> main('529522750')
'0x1f8fc7d'

>>> main('188452270')
'0xcb3f1dc'

>>> main('404993560')
'0x118276b0'

>>> main('66968955')
'0xa3fbbf7'

Вариант №20

Задача №8

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

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

Целое.

0 6 7 15 16 18 X1 X2 X3 19 23 24 26 27 36 X3 X4 X5

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

Целое.

0 2 3 9 10 18 X4 X1 X2 19 26 27 36 X3 X5

Тесты:

>>> main(54455074490)
54462248405

>>> main(113990128700)
113996636642

>>> main(133328290874)
133410464210

>>> main(95398333044)
95319249830

Вариант №21

Задача №8

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

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

Целое.

0 1 6 7 10 11 16 S1 S2 S3 S4 17 20 21 28 29 32 S4 S5 S6

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

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

0 9 10 11 14 15 16 S4 S1 S6 S5 17 22 23 28 29 32 S5 S2 S3

Тесты:

>>> main(3870650278)
'8214198957'

>>> main(2356535437)
'590456508'

>>> main(2728133420)
'3406441344'

>>> main(8285778136)
'909605854'

Вариант №22

Задача №8

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

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

Целое.
0 3 4 7 8 10 11 12 17 18 26 O1 O2 O3 O4 O5 O6

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

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

Тесты:

>>> main(89386784)
[('O1', 0), ('O2', 2), ('O3', 7), ('O4', 1), ('O5', 62), ('O6', 340)]

>>> main(64976669)
[('O1', 13), ('O2', 1), ('O3', 7), ('O4', 0), ('O5', 55), ('O6', 247)]

>>> main(108296663)
[('O1', 7), ('O2', 13), ('O3', 1), ('O4', 1), ('O5', 7), ('O6', 413)]

>>> main(7475290)
[('O1', 10), ('O2', 5), ('O3', 0), ('O4', 0), ('O5', 33), ('O6', 28)]

Вариант №23

Задача №8

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

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

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

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

Целое.
0 6 7 9 10 11 19 20 26 27 29 W1 W2 W3 W4 W5 W6

Тесты:

>>> main({'W1': '0x32', 'W2': '0x4', 'W3': '0x1', 'W4': '0x1b5', 'W5': '0x8', 'W6': '0x4'})
546156082

>>> main({'W1': '0x41', 'W2': '0x6', 'W3': '0x1', 'W4': '0x194', 'W5': '0x66', 'W6': '0x5'})
778872641

>>> main({'W1': '0x3c', 'W2': '0x6', 'W3': '0x0', 'W4': '0xe4', 'W5': '0x2f', 'W6': '0x6'})
855057212

>>> main({'W1': '0x54', 'W2': '0x2', 'W3': '0x1', 'W4': '0x1d1', 'W5': '0x44', 'W6': '0x3'})
474910036

Вариант №24

Задача №8

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

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

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

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

Десятичная строка.
0 5 6 7 8 10 11 19 G1 G2 G3 G4

Тесты:

>>> main((16, 0, 4, 220))
'451600'

>>> main((26, 1, 7, 34))
'71514'

>>> main((5, 3, 5, 310))
'636357'

>>> main((8, 1, 4, 34))
'70728'

Вариант №25

Задача №8

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

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

Целое.
0 3 4 7 8 11 12 21 22 27 28 30 L1 L2 L3 L4 L5 L6

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

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

Тесты:

>>> main(209500260)
(4, 6, 8, 971, 49, 0)

>>> main(1507510941)
(13, 9, 10, 428, 39, 5)

>>> main(1868627490)
(2, 2, 14, 527, 61, 6)

>>> main(440544799)
(15, 1, 14, 34, 41, 1)

Вариант №26

Задача №8

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

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

Целое.
0 1 2 3 9 10 13 P1 P2 P3 P4

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

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

Тесты:

>>> main(3731)
('0x1', '0x1', '0x52', '0x3')

>>> main(10311)
('0x1', '0x3', '0x8', '0xa')

>>> main(15342)
('0x0', '0x3', '0x7d', '0xe')

>>> main(8913)
('0x1', '0x0', '0x5a', '0x8')

Вариант №27

Задача №8

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

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

Шестнадцатиричная строка.
0 1 7 8 9 10 S1 S2 S3

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

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

Тесты:

>>> main('0x1f4')
[('S1', '0x0'), ('S2', '0x7a'), ('S3', '0x1')]

>>> main('0x18f')
[('S1', '0x1'), ('S2', '0x47'), ('S3', '0x1')]

>>> main('0x75')
[('S1', '0x1'), ('S2', '0x3a'), ('S3', '0x0')]

>>> main('0x1a1')
[('S1', '0x1'), ('S2', '0x50'), ('S3', '0x1')]

Вариант №28

Задача №8

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

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

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

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

Целое.
0 1 2 7 8 13 14 20 D1 D3 D4

Тесты:

>>> main([('D1', '0x2'), ('D3', '0x0'), ('D4', '0x16')])
360450

>>> main([('D1', '0x0'), ('D3', '0x2a'), ('D4', '0x70')])
1845760

>>> main([('D1', '0x1'), ('D3', '0x31'), ('D4', '0x16')])
372993

>>> main([('D1', '0x2'), ('D3', '0x3b'), ('D4', '0x12')])
310018

Вариант №29

Задача №8

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

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

Шестнадцатиричная строка.
0 1 9 10 16 17 24 U1 U2 U3 U4

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

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

Тесты:

>>> main('0x1f62883')
{'U1': 1, 'U2': 65, 'U3': 10, 'U4': 251}

>>> main('0x1a55d3d')
{'U1': 1, 'U2': 158, 'U3': 87, 'U4': 210}

>>> main('0x1215c89')
{'U1': 1, 'U2': 68, 'U3': 87, 'U4': 144}

>>> main('0x13eb9d8')
{'U1': 0, 'U2': 236, 'U3': 46, 'U4': 159}

Вариант №30

Задача №8

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

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

Десятичная строка.
0 1 2 3 6 7 14 15 19 V1 V2 V3 V4 V5

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

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

Тесты:

>>> main('287388')
[('V1', '0'), ('V2', '2'), ('V3', '3'), ('V4', '197'), ('V5', '8')]

>>> main('970531')
[('V1', '1'), ('V2', '1'), ('V3', '4'), ('V4', '158'), ('V5', '29')]

>>> main('112481')
[('V1', '1'), ('V2', '0'), ('V3', '12'), ('V4', '110'), ('V5', '3')]

>>> main('951899')
[('V1', '1'), ('V2', '1'), ('V3', '11'), ('V4', '12'), ('V5', '29')]

Вариант №31

Задача №8

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

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

Шестнадцатиричная строка.
0 1 10 11 17 18 19 27 X1 X2 X3 X4 X5

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

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

Тесты:

>>> main('0xaa65dcb')
('0x1', '0x2e5', '0x4b', '0x1', '0x154')

>>> main('0xce4491b')
('0x1', '0x8d', '0x9', '0x1', '0x19c')

>>> main('0x60df33a')
('0x0', '0x19d', '0x3e', '0x1', '0xc1')

>>> main('0xfcb4443')
('0x1', '0x221', '0x68', '0x0', '0x1f9')

Вариант №32

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 2 3 11 12 18 19 28 W1 W2 W4

Тесты:

>>> main((4, 86, 460))
'0xe6002b4'

>>> main((3, 48, 858))
'0x1ad00183'

>>> main((5, 337, 446))
'0xdf00a8d'

>>> main((6, 65, 103))
'0x338020e'

Вариант №33

Задача №8

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

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

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

0 4 5 6 7 8 9 A1 A3 A4

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

Целое.

0 1 2 3 4 5 9 A4 A3 A1

Тесты:

>>> main('0x32c')
401

>>> main('0x31c')
913

>>> main('0x353')
625

>>> main('0x2bf')
1001

Вариант №34

Задача №8

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

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

Десятичная строка.
0 3 4 13 14 18 R1 R2 R3 19 26 27 30 31 37 R4 R5

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

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

Тесты:

>>> main('1614459110')
{'R1': '0x6', 'R2': '0x30e', 'R3': '0xa', 'R4': '0x7', 'R5': '0xc'}

>>> main('669568937')
{'R1': '0x9', 'R2': '0xfa', 'R3': '0x3', 'R4': '0xfd', 'R5': '0x4'}

>>> main('1519273503')
{'R1': '0xf', 'R2': '0x61', 'R3': '0x19', 'R4': '0x51', 'R5': '0xb'}

>>> main('1963790062')
{'R1': '0xe', 'R2': '0xee', 'R3': '0x14', 'R4': '0xa1', 'R5': '0xe'}

Вариант №35

Задача №8

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

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

Десятичная строка.
0 1 3 4 6 7 14 15 19 20 P1 P2 P3 P5 P6

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

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

Тесты:

>>> main('15225')
(1, 4, 7, 0, 0)

>>> main('1885306')
(0, 5, 7, 25, 1)

>>> main('1693102')
(0, 7, 2, 19, 1)

>>> main('350734')
(0, 7, 0, 10, 0)

Вариант №36

Задача №8

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

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

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

0 1 2 3 4 13 14 20 J1 J2 J4 21 23 24 30 31 40 J4 J5 J6

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

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

0 1 2 11 12 18 19 20 J1 J5 J6 21 28 29 30 31 40 J6 J2 J4

Тесты:

>>> main('0x103bb7a3462')
'1048244367362'

>>> main('0xe37d252f38')
'319139860480'

>>> main('0xfcf48bf46e')
'1202319212546'

>>> main('0x100595e37c3')
'807722651651'

Вариант №37

Задача №8

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

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

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

0 7 8 17 18 F2 F3 19 22 23 29 30 34 35 37 F3 F4 F5 F6

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

Целое.

0 6 7 11 12 18 F4 F3 19 20 24 25 27 28 37 F5 F6 F2

Тесты:

>>> main('0x1695e8c3a7')
52439289131

>>> main('0x3a588e3af8')
153252528561

>>> main('0x1959b2f29e')
202506241587

>>> main('0x27ab6d4d1f')
89554685398

Вариант №38

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 9 10 16 R1 17 23 24 25 28 29 33 R3 R4 R5 R6

Тесты:

>>> main(('361', '67', '1', '6', '30'))
'0x3cd860169'

>>> main(('434', '33', '1', '13', '21'))
'0x2bb4201b2'

>>> main(('632', '60', '1', '10', '25'))
'0x335780278'

>>> main(('329', '105', '0', '4', '11'))
'0x168d20149'

Вариант №39

Задача №8

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

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

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

0 9 10 13 14 15 18 19 23 N1 N2 N4 N5

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

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

0 9 10 14 15 18 19 22 23 N1 N5 N4 N2

Тесты:

>>> main('12530984')
'7298344'

>>> main('11025965')
'7886381'

>>> main('12769082')
'2810682'

>>> main('6279412')
'2600180'

Вариант №40

Задача №8

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

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

Десятичная строка.
0 2 3 5 6 13 14 18 G2 G3 G4 19 23 24 31 32 37 G4 G5 G6

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

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

Тесты:

>>> main('25326123438')
('5', '230', '567', '229', '5')

>>> main('222961968025')
('3', '142', '582', '233', '51')

>>> main('225295384815')
('5', '3', '667', '116', '52')

>>> main('50296388054')
('2', '231', '919', '181', '11')