ИВБО-02-22

Вариант №1

Задача №8

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

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

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

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

Целое.
0 7 8 10 11 17 18 20 Y1 Y2 Y3 Y4

Тесты:

>>> main((130, 3, 46, 3))
881538

>>> main((93, 0, 75, 0))
153693

>>> main((234, 3, 120, 7))
2081770

>>> main((180, 6, 69, 1))
405172

Вариант №2

Задача №8

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

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

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

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

Десятичная строка.
0 4 5 6 7 15 16 19 Q1 Q3 Q4

Тесты:

>>> main({'Q1': 20, 'Q3': 204, 'Q4': 14})
'943636'

>>> main({'Q1': 15, 'Q3': 465, 'Q4': 13})
'911503'

>>> main({'Q1': 23, 'Q3': 501, 'Q4': 5})
'391831'

>>> main({'Q1': 29, 'Q3': 437, 'Q4': 9})
'645789'

Вариант №3

Задача №8

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

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

Целое.

0 9 10 15 J1 J2 16 17 24 25 31 J2 J3 J4

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

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

0 6 7 13 14 15 J2 J4 J3 16 21 22 31 J3 J1

Тесты:

>>> main(3880312002)
'0x30a939b7'

>>> main(1052190910)
'0x2f96cfca'

>>> main(395182301)
'0x3771c580'

>>> main(873758074)
'0x5e828d1f'

Вариант №4

Задача №8

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

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

Целое.

0 8 9 14 15 17 R1 R2 R3 18 24 25 34 R3 R4

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

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

0 9 10 17 R4 R1 18 19 24 25 34 R1 R2 R3

Тесты:

>>> main(10709366539)
'5634796863'

>>> main(32485445757)
'4869715912'

>>> main(11913350371)
'1563659619'

>>> main(4376151384)
'14413029506'

Вариант №5

Задача №8

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

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

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

0 5 6 7 8 14 15 17 18 20 D1 D2 D3 D5

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

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

0 5 6 12 13 14 15 17 18 20 D1 D3 D2 D5

Тесты:

>>> main('156468')
'6388'

>>> main('1749738')
'224426'

>>> main('749755')
'89147'

>>> main('1546739')
'190067'

Вариант №6

Задача №8

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

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

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

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

Целое.
0 5 6 7 9 10 14 W1 W2 W3

Тесты:

>>> main(('0x3b', '0x0', '0x1'))
187

>>> main(('0x1f', '0x1', '0x0'))
95

>>> main(('0x2c', '0x0', '0x0'))
44

>>> main(('0xa', '0x1', '0x5'))
714

Вариант №7

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 8 9 18 U1 19 21 22 30 31 36 U3 U4 U5

Тесты:

>>> main({'U1': 401, 'U3': 3, 'U4': 137, 'U5': 8})
'0x422580191'

>>> main({'U1': 439, 'U3': 3, 'U4': 71, 'U5': 28})
'0xe11d801b7'

>>> main({'U1': 261, 'U3': 4, 'U4': 85, 'U5': 23})
'0xb95600105'

>>> main({'U1': 393, 'U3': 7, 'U4': 304, 'U5': 8})
'0x44c380189'

Вариант №8

Задача №8

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

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

Шестнадцатиричная строка.
0 6 7 16 J1 J2 17 21 22 26 27 33 J3 J4 J5

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

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

Тесты:

>>> main('0x9228a5b7')
{'J1': '0x37', 'J2': '0x14b', 'J3': '0x14', 'J4': '0x8', 'J5': '0x12'}

>>> main('0xcebce5c0')
{'J1': '0x40', 'J2': '0x1cb', 'J3': '0x1e', 'J4': '0x1a', 'J5': '0x19'}

>>> main('0x15d43f90f')
{'J1': '0xf', 'J2': '0x3f2', 'J3': '0x1', 'J4': '0x15', 'J5': '0x2b'}

>>> main('0x2db75062e')
{'J1': '0x2e', 'J2': '0x20c', 'J3': '0x1a', 'J4': '0xd', 'J5': '0x5b'}

Вариант №9

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 3 4 12 13 17 18 20 C1 C3 C4

Тесты:

>>> main([('C1', '0xc'), ('C3', '0x8'), ('C4', '0x5')])
'0x15000c'

>>> main([('C1', '0x1'), ('C3', '0x10'), ('C4', '0x5')])
'0x160001'

>>> main([('C1', '0x6'), ('C3', '0x1b'), ('C4', '0x2')])
'0xb6006'

>>> main([('C1', '0xe'), ('C3', '0x6'), ('C4', '0x2')])
'0x8c00e'

Вариант №10

Задача №8

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

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

Десятичная строка.
0 7 8 16 17 H1 H2 H3 18 27 28 34 H4

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

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

Тесты:

>>> main('114638007')
(183, 316, 0, 437)

>>> main('194541603')
(35, 120, 0, 742)

>>> main('257390985')
(137, 377, 1, 981)

>>> main('79968519')
(7, 57, 0, 305)

Вариант №11

Задача №8

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

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

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

0 2 3 4 5 12 13 16 17 26 Y1 Y2 Y4 Y5

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

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

0 3 4 13 14 21 22 24 25 26 Y4 Y5 Y1 Y2

Тесты:

>>> main('131214864')
'67124881'

>>> main('58802567')
'29367306'

>>> main('27492746')
'41946396'

>>> main('122864897')
'4209302'

Вариант №12

Задача №8

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

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

Шестнадцатиричная строка.
0 1 10 11 17 18 19 20 27 H1 H3 H4 H5

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

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

Тесты:

>>> main('0xf74411d')
(1, 8, 1, 247)

>>> main('0x1f783f4')
(0, 112, 1, 31)

>>> main('0x65876c8')
(0, 14, 2, 101)

>>> main('0x783aea6')
(0, 117, 0, 120)

Вариант №13

Задача №8

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

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

Целое.

0 8 9 11 12 15 16 18 O2 O3 O4

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

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

0 2 3 6 7 15 16 18 O4 O3 O2

Тесты:

>>> main(139508)
'18'

>>> main(230339)
'65603'

>>> main(361359)
'65605'

>>> main(473101)
'262175'

Вариант №14

Задача №8

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

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

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

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

Десятичная строка.
0 3 4 12 13 14 18 L1 L2 L4 19 20 29 30 36 L4 L5 L6

Тесты:

>>> main({'L1': '11', 'L2': '274', 'L4': '29', 'L5': '311', 'L6': '120'})
'129175605547'

>>> main({'L1': '11', 'L2': '438', 'L4': '13', 'L5': '749', 'L6': '125'})
'135003331435'

>>> main({'L1': '1', 'L2': '89', 'L4': '49', 'L5': '255', 'L6': '110'})
'118379791761'

>>> main({'L1': '10', 'L2': '477', 'L4': '56', 'L5': '987', 'L6': '10'})
'11773287898'

Вариант №15

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 1 2 11 12 16 F1 F2 F3 17 18 19 22 23 32 F3 F4 F5

Тесты:

>>> main({'F1': '2', 'F2': '18', 'F3': '35', 'F4': '0', 'F5': '2'})
'0x12304a'

>>> main({'F1': '2', 'F2': '840', 'F3': '24', 'F4': '0', 'F5': '3'})
'0x198d22'

>>> main({'F1': '1', 'F2': '448', 'F3': '46', 'F4': '1', 'F5': '10'})
'0x56e701'

>>> main({'F1': '2', 'F2': '612', 'F3': '4', 'F4': '1', 'F5': '9'})
'0x4c4992'

Вариант №16

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 8 9 10 11 15 16 17 18 20 21 22 F1 F2 F3 F5 F6

Тесты:

>>> main({'F1': '476', 'F2': '3', 'F3': '12', 'F5': '1', 'F6': '3'})
'0x6467dc'

>>> main({'F1': '344', 'F2': '1', 'F3': '6', 'F5': '6', 'F6': '3'})
'0x783358'

>>> main({'F1': '113', 'F2': '0', 'F3': '21', 'F5': '7', 'F6': '0'})
'0x1ca871'

>>> main({'F1': '354', 'F2': '1', 'F3': '3', 'F5': '4', 'F6': '2'})
'0x501b62'

Вариант №17

Задача №8

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

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

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

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

Целое.
0 5 6 7 13 14 15 16 19 20 24 K1 K2 K3 K4 K5 K6

Тесты:

>>> main({'K1': 51, 'K2': 1, 'K3': 114, 'K4': 2, 'K5': 0, 'K6': 22})
23116147

>>> main({'K1': 7, 'K2': 1, 'K3': 84, 'K4': 1, 'K5': 5, 'K6': 10})
10840647

>>> main({'K1': 50, 'K2': 1, 'K3': 122, 'K4': 0, 'K5': 1, 'K6': 28})
29441394

>>> main({'K1': 61, 'K2': 1, 'K3': 43, 'K4': 0, 'K5': 1, 'K6': 16})
16848381

Вариант №18

Задача №8

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

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

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

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

Целое.
0 1 10 11 19 20 23 T1 T2 T3 T4

Тесты:

>>> main([('T1', '0'), ('T2', '363'), ('T3', '74'), ('T4', '3')])
3298006

>>> main([('T1', '0'), ('T2', '742'), ('T3', '249'), ('T4', '12')])
13094348

>>> main([('T1', '1'), ('T2', '519'), ('T3', '105'), ('T4', '9')])
9653263

>>> main([('T1', '1'), ('T2', '1011'), ('T3', '196'), ('T4', '11')])
11937767

Вариант №19

Задача №8

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

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

Шестнадцатиричная строка.
0 5 6 7 8 11 12 17 O1 O2 O3 O4

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

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

Тесты:

>>> main('0x393ff')
{'O1': '0x3f', 'O2': '0x3', 'O3': '0x3', 'O4': '0x39'}

>>> main('0x29b20')
{'O1': '0x20', 'O2': '0x0', 'O3': '0xb', 'O4': '0x29'}

>>> main('0x15a68')
{'O1': '0x28', 'O2': '0x1', 'O3': '0xa', 'O4': '0x15'}

>>> main('0x4e6b')
{'O1': '0x2b', 'O2': '0x1', 'O3': '0xe', 'O4': '0x4'}

Вариант №20

Задача №8

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

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

Целое.
0 7 8 12 13 14 15 16 18 19 24 F1 F2 F3 F4 F5 F6

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

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

Тесты:

>>> main(32056415)
{'F1': '0x5f', 'F2': '0x4', 'F3': '0x1', 'F4': '0x0', 'F5': '0x1', 'F6': '0x3d'}

>>> main(22605635)
{'F1': '0x43', 'F2': '0xf', 'F3': '0x3', 'F4': '0x1', 'F5': '0x0', 'F6': '0x2b'}

>>> main(1286688)
{'F1': '0x20', 'F2': '0x2', 'F3': '0x1', 'F4': '0x1', 'F5': '0x3', 'F6': '0x2'}

>>> main(27215027)
{'F1': '0xb3', 'F2': '0x4', 'F3': '0x2', 'F4': '0x0', 'F5': '0x7', 'F6': '0x33'}

Вариант №21

Задача №8

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

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

Целое.

0 6 7 15 16 17 S1 S2 S3 S4 18 24 25 26 27 35 S4 S5 S6

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

Целое.

0 8 9 10 17 S6 S3 S2 18 19 20 21 28 29 35 S2 S5 S4 S1

Тесты:

>>> main(59329810328)
12973014970

>>> main(14617012512)
17513269868

>>> main(48858079744)
44110700

>>> main(50680572864)
34574785913

Вариант №22

Задача №8

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

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

Целое.

0 9 10 13 14 17 18 19 22 W2 W3 W4 W5

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

Целое.

0 1 4 5 8 9 12 13 22 W4 W2 W3 W5

Тесты:

>>> main(7324984)
7139

>>> main(6797813)
6621

>>> main(135158)
262

>>> main(2530284)
2381

Вариант №23

Задача №8

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

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

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

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

Десятичная строка.
0 6 7 9 10 17 18 22 Y1 Y3 Y4

Тесты:

>>> main({'Y1': '0x14', 'Y3': '0x9b', 'Y4': '0x5'})
'1469460'

>>> main({'Y1': '0xb', 'Y3': '0x8b', 'Y4': '0xf'})
'4074507'

>>> main({'Y1': '0x78', 'Y3': '0x8f', 'Y4': '0x1b'})
'7224440'

>>> main({'Y1': '0x52', 'Y3': '0x4e', 'Y4': '0xa'})
'2701394'

Вариант №24

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 8 9 13 14 19 20 E1 E2 E3

Тесты:

>>> main([('E1', '0x3e'), ('E2', '0xb'), ('E3', '0x1')])
'0x563e'

>>> main([('E1', '0xe5'), ('E2', '0xc'), ('E3', '0x19')])
'0x658e5'

>>> main([('E1', '0x1b9'), ('E2', '0x18'), ('E3', '0x4')])
'0x131b9'

>>> main([('E1', '0xdd'), ('E2', '0x5'), ('E3', '0x1f')])
'0x7cadd'

Вариант №25

Задача №8

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

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

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

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

Целое.
0 3 4 11 12 15 16 19 G1 G2 G3

Тесты:

>>> main([('G1', '0xe'), ('G2', '0x14'), ('G3', '0x7')])
29006

>>> main([('G1', '0xe'), ('G2', '0xe9'), ('G3', '0xc')])
52894

>>> main([('G1', '0x2'), ('G2', '0xcc'), ('G3', '0x1')])
7362

>>> main([('G1', '0x3'), ('G2', '0x6a'), ('G3', '0xf')])
63139

Вариант №26

Задача №8

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

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

Десятичная строка.
0 7 8 10 11 12 16 17 D1 D2 D4 D5

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

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

Тесты:

>>> main('103152')
[('D1', '0xf0'), ('D2', '0x2'), ('D4', '0x19'), ('D5', '0x0')]

>>> main('155988')
[('D1', '0x54'), ('D2', '0x1'), ('D4', '0x6'), ('D5', '0x1')]

>>> main('225973')
[('D1', '0xb5'), ('D2', '0x2'), ('D4', '0x17'), ('D5', '0x1')]

>>> main('170828')
[('D1', '0x4c'), ('D2', '0x3'), ('D4', '0x9'), ('D5', '0x1')]

Вариант №27

Задача №8

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

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

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

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

Десятичная строка.
0 9 10 13 14 21 F1 F2 F3 22 23 24 31 32 41 42 43 F3 F4 F6

Тесты:

>>> main({'F1': '657', 'F2': '9', 'F3': '518', 'F4': '171', 'F6': '3'})
'13197016934033'

>>> main({'F1': '857', 'F2': '1', 'F3': '907', 'F4': '220', 'F6': '3'})
'13197845383001'

>>> main({'F1': '921', 'F2': '13', 'F3': '760', 'F4': '200', 'F6': '1'})
'4401414420377'

>>> main({'F1': '808', 'F2': '10', 'F3': '230', 'F4': '34', 'F6': '1'})
'4398620715816'

Вариант №28

Задача №8

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

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

Шестнадцатиричная строка.
0 4 5 6 9 10 14 15 24 X1 X2 X4 X5

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

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

Тесты:

>>> main('0xd23461')
(1, 1, 13, 420)

>>> main('0x1a889c9')
(9, 0, 2, 849)

>>> main('0x9a3fd7')
(23, 0, 15, 308)

>>> main('0x185465a')
(26, 0, 17, 778)

Вариант №29

Задача №8

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

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

Целое.

0 6 7 16 17 22 23 24 L1 L3 L4

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

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

0 6 7 8 9 18 19 24 L1 L4 L3

Тесты:

>>> main(29191761)
'15729105'

>>> main(24826205)
'31981917'

>>> main(14072889)
'22544569'

>>> main(28329727)
'12583423'

Вариант №30

Задача №8

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

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

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

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

Десятичная строка.
0 7 8 13 14 16 W1 W2 W3 17 18 19 23 24 32 W3 W4

Тесты:

>>> main([('W1', 17), ('W2', 54), ('W3', 26), ('W4', 9)])
'5158417'

>>> main([('W1', 28), ('W2', 3), ('W3', 7), ('W4', 24)])
'12698396'

>>> main([('W1', 73), ('W2', 27), ('W3', 0), ('W4', 25)])
'13114185'

>>> main([('W1', 4), ('W2', 56), ('W3', 14), ('W4', 15)])
'8108036'

Вариант №31

Задача №8

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

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

Целое.
0 4 5 13 14 21 22 30 G1 G2 G3 G4

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

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

Тесты:

>>> main(1074406460)
('28', '289', '40', '256')

>>> main(307531179)
('11', '109', '82', '73')

>>> main(793328936)
('8', '489', '36', '189')

>>> main(770338886)
('6', '386', '169', '183')

Вариант №32

Задача №8

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

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

Шестнадцатиричная строка.
0 1 2 9 10 11 12 14 15 22 23 29 V2 V3 V4 V5 V6

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

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

Тесты:

>>> main('0x1d97a4b')
(146, 2, 7, 178, 3)

>>> main('0x2886b29a')
(166, 0, 3, 13, 81)

>>> main('0x2e21f34d')
(211, 0, 7, 67, 92)

>>> main('0x28b091f2')
(124, 0, 1, 97, 81)

Вариант №33

Задача №8

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

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

Целое.

0 4 5 6 7 14 15 16 24 D1 D2 D3 D4 D5

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

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

0 8 9 10 17 18 22 23 24 D5 D4 D3 D1 D2

Тесты:

>>> main(1829342)
'0x17b4e1b'

>>> main(12551663)
'0x1bc2ebf'

>>> main(394208)
'0x1801c06'

>>> main(17840007)
'0x1dbd10'

Вариант №34

Задача №8

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

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

Шестнадцатиричная строка.
0 4 5 6 7 8 17 18 23 G1 G2 G3 G4 G5

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

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

Тесты:

>>> main('0x2d42d8')
{'G1': '0x18', 'G2': '0x2', 'G3': '0x1', 'G4': '0x142', 'G5': '0xb'}

>>> main('0x96f6e9')
{'G1': '0x9', 'G2': '0x3', 'G3': '0x1', 'G4': '0x2f6', 'G5': '0x25'}

>>> main('0xe0369f')
{'G1': '0x1f', 'G2': '0x0', 'G3': '0x1', 'G4': '0x36', 'G5': '0x38'}

>>> main('0x7cf55e')
{'G1': '0x1e', 'G2': '0x2', 'G3': '0x0', 'G4': '0xf5', 'G5': '0x1f'}

Вариант №35

Задача №8

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

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

Десятичная строка.
0 3 4 8 9 15 W1 W2 W3 16 18 19 27 28 31 W3 W5

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

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

Тесты:

>>> main('3386074601')
{'W1': 9, 'W2': 30, 'W3': 434, 'W5': 12}

>>> main('637562814')
{'W1': 14, 'W2': 27, 'W3': 55, 'W5': 2}

>>> main('804717679')
{'W1': 15, 'W2': 6, 'W3': 898, 'W5': 2}

>>> main('1575201886')
{'W1': 14, 'W2': 5, 'W3': 470, 'W5': 5}

Вариант №36

Задача №8

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

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

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

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

Целое.
0 6 7 16 M1 M2 17 18 26 27 33 M3 M5

Тесты:

>>> main({'M1': '29', 'M2': '125', 'M3': '1', 'M5': '3'})
402800285

>>> main({'M1': '33', 'M2': '588', 'M3': '1', 'M5': '54'})
7247963681

>>> main({'M1': '74', 'M2': '391', 'M3': '0', 'M5': '59'})
7918896074

>>> main({'M1': '22', 'M2': '898', 'M3': '0', 'M5': '92'})
12348145942

Вариант №37

Задача №8

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

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

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

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

Целое.
0 8 9 16 17 19 20 26 27 28 Z1 Z2 Z3 Z4 Z5

Тесты:

>>> main(('0xf8', '0xa', '0x4', '0x4f', '0x1'))
217584888

>>> main(('0x13f', '0x11', '0x7', '0x20', '0x0'))
34480959

>>> main(('0x2', '0x9c', '0x4', '0x7b', '0x3'))
532232194

>>> main(('0x21', '0x5', '0x0', '0x2c', '0x1'))
180357665

Вариант №38

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 1 2 3 5 6 14 V1 V3 V4

Тесты:

>>> main(('0x3', '0x6', '0x12f'))
'0x4bf3'

>>> main(('0x3', '0x2', '0xab'))
'0x2ad3'

>>> main(('0x3', '0x2', '0x1b0'))
'0x6c13'

>>> main(('0x1', '0x0', '0x96'))
'0x2581'

Вариант №39

Задача №8

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

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

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

0 2 3 12 13 20 21 24 25 V1 V2 V3 V4 V5

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

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

0 2 3 6 7 16 17 18 25 V1 V4 V2 V5 V3

Тесты:

>>> main('22752285')
'56934869'

>>> main('36778531')
'36119051'

>>> main('54446857')
'64663753'

>>> main('62803896')
'63634408'

Вариант №40

Задача №8

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

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

Шестнадцатиричная строка.
0 3 4 8 9 10 11 19 20 21 X1 X2 X3 X4 X5

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

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

Тесты:

>>> main('0xd110')
[('X1', '0x0'), ('X2', '0x11'), ('X3', '0x0'), ('X4', '0x1a'), ('X5', '0x0')]

>>> main('0x1101b3')
[('X1', '0x3'), ('X2', '0x1b'), ('X3', '0x0'), ('X4', '0x20'), ('X5', '0x1')]

>>> main('0x199d3')
[('X1', '0x3'), ('X2', '0x1d'), ('X3', '0x0'), ('X4', '0x33'), ('X5', '0x0')]

>>> main('0x1d7978')
[('X1', '0x8'), ('X2', '0x17'), ('X3', '0x0'), ('X4', '0x1af'), ('X5', '0x1')]