ИКБО-23-22

Вариант №1

Задача №8

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

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

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

0 1 2 9 10 16 B1 B2 B3 17 19 20 22 23 32 B3 B4 B5

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

Целое.

0 7 8 16 B2 B3 17 18 27 28 29 30 32 B3 B5 B1 B4

Тесты:

>>> main('0x2bdc6f69')
5660154842

>>> main('0xfd9b1dd5')
1475266421

>>> main('0x35048830')
27861516

>>> main('0x8fb15d9b')
4101789542

Вариант №2

Задача №8

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

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

Целое.

0 4 5 14 15 17 18 26 27 30 S1 S3 S4 S5

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

Целое.

0 8 9 11 12 16 17 26 27 30 S4 S3 S1 S5

Тесты:

>>> main(1691555512)
1610714420

>>> main(347508897)
268442413

>>> main(1045605072)
939592596

>>> main(1056922027)
939572671

Вариант №3

Задача №8

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

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

Шестнадцатиричная строка.
0 9 10 13 14 18 19 22 23 24 28 O1 O2 O3 O4 O5 O6

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

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

Тесты:

>>> main('0x145c2ba9')
[('O1', '0x3a9'), ('O2', '0xa'), ('O3', '0x10'), ('O4', '0xb'), ('O5', '0x0'), ('O6', '0x14')]

>>> main('0xc83ca5b')
[('O1', '0x25b'), ('O2', '0x2'), ('O3', '0xf'), ('O4', '0x0'), ('O5', '0x1'), ('O6', '0xc')]

>>> main('0x16c97d37')
[('O1', '0x137'), ('O2', '0xf'), ('O3', '0x5'), ('O4', '0x9'), ('O5', '0x1'), ('O6', '0x16')]

>>> main('0x10e02e98')
[('O1', '0x298'), ('O2', '0xb'), ('O3', '0x0'), ('O4', '0xc'), ('O5', '0x1'), ('O6', '0x10')]

Вариант №4

Задача №8

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

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

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

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

Десятичная строка.
0 3 4 5 6 15 16 25 26 29 F1 F2 F3 F4 F5

Тесты:

>>> main({'F1': '0xb', 'F2': '0x3', 'F3': '0x103', 'F4': '0x170', 'F5': '0xf'})
'1030766843'

>>> main({'F1': '0x2', 'F2': '0x1', 'F3': '0x2f9', 'F4': '0x16c', 'F5': '0x0'})
'23903826'

>>> main({'F1': '0x3', 'F2': '0x2', 'F3': '0x2dd', 'F4': '0xea', 'F5': '0xc'})
'820688739'

>>> main({'F1': '0xc', 'F2': '0x3', 'F3': '0x347', 'F4': '0x15c', 'F5': '0x4'})
'291295740'

Вариант №5

Задача №8

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

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

Десятичная строка.
0 9 10 16 17 U1 U2 U3 18 25 26 29 30 31 35 U3 U4 U5 U6

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

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

Тесты:

>>> main('1744383634')
('0x292', '0x4b', '0x1fc', '0x9', '0x1', '0x0')

>>> main('13137176814')
('0xee', '0x5a', '0x184', '0x3', '0x0', '0x6')

>>> main('26820515826')
('0x3f2', '0x25', '0x150', '0xf', '0x0', '0xc')

>>> main('66291605225')
('0x2e9', '0x67', '0x1a4', '0xb', '0x1', '0x1e')

Вариант №6

Задача №8

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

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

Десятичная строка.
0 7 8 11 12 21 22 24 25 V1 V3 V4 V5

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

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

Тесты:

>>> main('56558560')
('0xe0', '0x1f0', '0x5', '0x1')

>>> main('40929615')
('0x4f', '0x308', '0x1', '0x1')

>>> main('2510669')
('0x4d', '0x264', '0x0', '0x0')

>>> main('48274367')
('0xbf', '0x209', '0x3', '0x1')

Вариант №7

Задача №8

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

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

Целое.
0 5 6 13 14 18 Z1 Z2 Z3 19 21 22 26 27 31 32 37 Z3 Z4 Z5 Z6

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

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

Тесты:

>>> main(240553184008)
('8', '44', '89', '8', '0', '56')

>>> main(145275353273)
('57', '226', '87', '12', '26', '33')

>>> main(199204943184)
('16', '213', '40', '6', '12', '46')

>>> main(177455169531)
('59', '255', '155', '4', '10', '41')

Вариант №8

Задача №8

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

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

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

0 3 4 10 11 19 E1 E2 E3 20 21 24 25 31 32 39 E3 E5 E6

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

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

0 6 7 10 11 17 18 19 E5 E2 E6 20 25 26 29 30 39 E6 E1 E3

Тесты:

>>> main('49501841504')
'0x51402c3043'

>>> main('930606677110')
'0xd7db623856'

>>> main('795374314588')
'0x732e62818'

>>> main('1069049522052')
'0x8913e3c074'

Вариант №9

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 9 10 14 15 22 23 28 T1 T2 T3 T4

Тесты:

>>> main((715, 21, 41, 20))
'0xa14d6cb'

>>> main((928, 26, 80, 52))
'0x1a286ba0'

>>> main((651, 0, 49, 37))
'0x1298828b'

>>> main((7, 28, 147, 25))
'0xcc9f007'

Вариант №10

Задача №8

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

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

Десятичная строка.
0 5 6 13 14 19 20 28 X1 X2 X3

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

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

Тесты:

>>> main('206293')
{'X1': '0x15', 'X2': '0x97', 'X3': '0xc'}

>>> main('690968')
{'X1': '0x18', 'X2': '0x2c', 'X3': '0x2a'}

>>> main('355505')
{'X1': '0x31', 'X2': '0xb2', 'X3': '0x15'}

>>> main('743519')
{'X1': '0x1f', 'X2': '0x61', 'X3': '0x2d'}

Вариант №11

Задача №8

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

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

Десятичная строка.
0 1 10 11 12 18 19 23 F1 F2 F3 F4 F5

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

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

Тесты:

>>> main('8542447')
[('F1', 1), ('F2', 119), ('F3', 1), ('F4', 37), ('F5', 16)]

>>> main('16663502')
[('F1', 0), ('F2', 487), ('F3', 0), ('F4', 100), ('F5', 31)]

>>> main('14987671')
[('F1', 1), ('F2', 203), ('F3', 0), ('F4', 75), ('F5', 28)]

>>> main('4583689')
[('F1', 1), ('F2', 132), ('F3', 0), ('F4', 95), ('F5', 8)]

Вариант №12

Задача №8

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

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

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

0 8 9 10 11 20 21 22 G1 G2 G3 G4

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

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

0 9 10 11 12 20 21 22 G3 G2 G1 G4

Тесты:

>>> main('3498868')
'0x3746ac'

>>> main('6464533')
'0x615854'

>>> main('419585')
'0x101ccc'

>>> main('7764805')
'0x7456cf'

Вариант №13

Задача №8

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

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

Целое.

0 5 6 14 15 24 25 27 L1 L2 L3 L4

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

Целое.

0 2 3 8 9 18 19 27 L4 L1 L3 L2

Тесты:

>>> main(177473348)
15355941

>>> main(88228724)
141363618

>>> main(132710889)
4171083

>>> main(235095809)
148900879

Вариант №14

Задача №8

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

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

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

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

Целое.
0 5 6 11 12 13 19 20 25 V1 V2 V3 V5

Тесты:

>>> main([('V1', '0x31'), ('V2', '0xa'), ('V3', '0x1'), ('V5', '0x22')])
35656369

>>> main([('V1', '0x3c'), ('V2', '0x1f'), ('V3', '0x0'), ('V5', '0x30')])
50333692

>>> main([('V1', '0x26'), ('V2', '0x28'), ('V3', '0x0'), ('V5', '0x10')])
16779814

>>> main([('V1', '0xc'), ('V2', '0x30'), ('V3', '0x0'), ('V5', '0x24')])
37751820

Вариант №15

Задача №8

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

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

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

0 2 3 6 7 15 16 17 Z2 Z3 Z4 18 25 26 34 Z4 Z5

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

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

0 2 3 11 12 15 16 17 Z3 Z2 Z4 18 25 26 34 Z4 Z5

Тесты:

>>> main('0x25ed95f59')
'0x25ed9b5f0'

>>> main('0x67eb2b5e2')
'0x67eb2cb58'

>>> main('0x1f5eb88f7')
'0x1f5ebe888'

>>> main('0x7822a9e4a')
'0x7822a99e0'

Вариант №16

Задача №8

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

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

Десятичная строка.
0 2 3 12 13 18 W1 W2 W3 19 20 21 28 29 37 W3 W5

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

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

Тесты:

>>> main('256261940919')
[('W1', '7'), ('W2', '214'), ('W3', '55'), ('W5', '477')]

>>> main('115548569572')
[('W1', '4'), ('W2', '1020'), ('W3', '217'), ('W5', '215')]

>>> main('86686366116')
[('W1', '4'), ('W2', '820'), ('W3', '71'), ('W5', '161')]

>>> main('107833307743')
[('W1', '7'), ('W2', '587'), ('W3', '237'), ('W5', '200')]

Вариант №17

Задача №8

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

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

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

0 5 6 7 8 13 14 15 W1 W2 W3 W4 16 22 23 31 W4 W5

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

Целое.

0 8 9 14 15 W5 W1 W4 16 23 24 29 30 31 W4 W3 W2

Тесты:

>>> main('4185870043')
3472799730

>>> main('3893526403')
3206842320

>>> main('2891788216')
2948231512

>>> main('2954376147')
4080019296

Вариант №18

Задача №8

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

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

Целое.
0 2 3 12 13 15 16 17 K1 K2 K3 K4 18 20 21 26 27 34 K4 K5 K6

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

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

Тесты:

>>> main(21521900756)
('4', '154', '1', '14', '22', '160')

>>> main(33091781800)
('0', '149', '4', '12', '35', '246')

>>> main(34151856180)
('4', '774', '7', '27', '28', '254')

>>> main(4870599145)
('1', '573', '3', '15', '18', '36')

Вариант №19

Задача №8

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

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

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

0 3 4 5 11 12 13 19 20 S2 S3 S4 S5 S6

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

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

0 1 7 8 14 15 16 19 20 S4 S3 S5 S6 S2

Тесты:

>>> main('0x141446')
'41029'

>>> main('0x399ca')
'7325'

>>> main('0x190815')
'1099904'

>>> main('0x16ed43')
'47060'

Вариант №20

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 3 4 12 13 20 R1 R2 R3 21 22 23 29 30 34 35 40 R3 R4 R5 R6

Тесты:

>>> main((7, 74, 526, 90, 3, 2))
'0x10ed41c4a7'

>>> main((8, 387, 103, 35, 10, 0))
'0x2918cf838'

>>> main((14, 246, 644, 34, 6, 49))
'0x18991508f6e'

>>> main((7, 137, 3, 62, 22, 23))
'0xbd9f006897'

Вариант №21

Задача №8

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

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

Шестнадцатиричная строка.
0 1 2 5 6 10 11 18 19 24 T1 T2 T3 T4 T5

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

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

Тесты:

>>> main('0x1a53845')
[('T1', '1'), ('T2', '1'), ('T3', '1'), ('T4', '167'), ('T5', '52')]

>>> main('0x14a7e2')
[('T1', '2'), ('T2', '8'), ('T3', '31'), ('T4', '148'), ('T5', '2')]

>>> main('0x1fdaefc')
[('T1', '0'), ('T2', '15'), ('T3', '27'), ('T4', '181'), ('T5', '63')]

>>> main('0xb34a9a')
[('T1', '2'), ('T2', '6'), ('T3', '10'), ('T4', '105'), ('T5', '22')]

Вариант №22

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 3 4 6 7 9 10 18 19 23 N1 N2 N3 N4 N5

Тесты:

>>> main((5, 1, 3, 449, 10))
'0x570595'

>>> main((6, 4, 1, 377, 2))
'0x15e4c6'

>>> main((7, 1, 7, 404, 16))
'0x865397'

>>> main((5, 1, 7, 477, 20))
'0xa77795'

Вариант №23

Задача №8

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

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

Шестнадцатиричная строка.
0 1 2 3 4 6 7 12 L1 L2 L3 L4

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

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

Тесты:

>>> main('0x3e0')
{'L1': '0x0', 'L2': '0x0', 'L3': '0x6', 'L4': '0x7'}

>>> main('0xf80')
{'L1': '0x0', 'L2': '0x0', 'L3': '0x0', 'L4': '0x1f'}

>>> main('0x137a')
{'L1': '0x2', 'L2': '0x2', 'L3': '0x7', 'L4': '0x26'}

>>> main('0x531')
{'L1': '0x1', 'L2': '0x0', 'L3': '0x3', 'L4': '0xa'}

Вариант №24

Задача №8

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

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

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

0 7 8 9 10 14 15 21 E1 E2 E3 E4 E5

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

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

0 1 7 8 15 16 17 21 E2 E5 E1 E3 E4

Тесты:

>>> main('0x26e8b8')
'3455130'

>>> main('0x322820')
'1319112'

>>> main('0x3c7c74')
'4093168'

>>> main('0x22af18')
'1513611'

Вариант №25

Задача №8

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

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

Целое.

0 7 8 10 11 20 21 28 U1 U2 U3 U4

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

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

0 2 3 12 13 20 21 28 U2 U3 U1 U4

Тесты:

>>> main(453572925)
'0x1b07a8f9'

>>> main(376458735)
'0x167df04d'

>>> main(26651959)
'0x186f6ad'

>>> main(150653638)
'0x8f8daca'

Вариант №26

Задача №8

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

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

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

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

Десятичная строка.
0 4 5 10 11 17 18 K1 K2 K3 K4

Тесты:

>>> main([('K1', '0xc'), ('K2', '0x3e'), ('K3', '0x7'), ('K4', '0x1')])
'278476'

>>> main([('K1', '0xf'), ('K2', '0x11'), ('K3', '0x42'), ('K4', '0x0')])
'135727'

>>> main([('K1', '0x2'), ('K2', '0x23'), ('K3', '0x12'), ('K4', '0x1')])
'300130'

>>> main([('K1', '0x12'), ('K2', '0x18'), ('K3', '0x6a'), ('K4', '0x0')])
'217874'

Вариант №27

Задача №8

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

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

Целое.

0 7 8 9 13 14 15 L1 L2 L3 L4

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

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

0 1 8 9 10 11 15 L2 L1 L4 L3

Тесты:

>>> main(9890)
'39236'

>>> main(32399)
'64286'

>>> main(7216)
'28768'

>>> main(40120)
'30064'

Вариант №28

Задача №8

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

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

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

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

Целое.
0 1 6 7 16 17 C1 C2 C3 C4 18 19 27 28 34 C4 C5 C6

Тесты:

>>> main([('C1', 1), ('C2', 28), ('C3', 1023), ('C4', 3), ('C5', 31), ('C6', 14)])
3774873529

>>> main([('C1', 1), ('C2', 17), ('C3', 3), ('C4', 2), ('C5', 91), ('C6', 121)])
32528662947

>>> main([('C1', 1), ('C2', 28), ('C3', 341), ('C4', 2), ('C5', 255), ('C6', 35)])
9529240249

>>> main([('C1', 1), ('C2', 53), ('C3', 53), ('C4', 3), ('C5', 114), ('C6', 108)])
29051198187

Вариант №29

Задача №8

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

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

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

0 5 6 9 10 15 16 18 T1 T2 T3 T4 19 23 24 27 28 36 T4 T5 T6

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

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

0 8 9 16 17 18 T6 T4 T2 19 20 21 26 27 32 33 36 T2 T3 T1 T5

Тесты:

>>> main('24432911544')
'7602479195'

>>> main('115548734149')
'60902767534'

>>> main('131129220072')
'65512920040'

>>> main('109512565527')
'131954437015'

Вариант №30

Задача №8

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

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

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

0 4 5 10 11 16 17 18 19 O1 O2 O3 O4 O5 O6

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

Целое.

0 1 6 7 12 13 17 18 19 O4 O2 O3 O1 O6 O5

Тесты:

>>> main('0x7d46e')
646471

>>> main('0x6bc98')
723913

>>> main('0xdfce9')
868302

>>> main('0x818bb')
483722

Вариант №31

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 1 2 4 5 6 11 12 20 M1 M2 M3 M4 M5

Тесты:

>>> main([('M1', 0), ('M2', 6), ('M3', 0), ('M4', 55), ('M5', 98)])
'0x62dd8'

>>> main([('M1', 3), ('M2', 4), ('M3', 0), ('M4', 60), ('M5', 101)])
'0x65f13'

>>> main([('M1', 3), ('M2', 7), ('M3', 0), ('M4', 42), ('M5', 107)])
'0x6ba9f'

>>> main([('M1', 1), ('M2', 2), ('M3', 1), ('M4', 63), ('M5', 365)])
'0x16dfe9'

Вариант №32

Задача №8

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

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

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

0 4 5 11 12 14 15 23 24 25 26 28 H1 H2 H3 H4 H5 H6

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

Целое.

0 4 5 7 8 10 11 12 13 21 22 28 H1 H6 H3 H5 H4 H2

Тесты:

>>> main('451779781')
431714757

>>> main('182802366')
259609950

>>> main('425747246')
106434254

>>> main('156207193')
278128729

Вариант №33

Задача №8

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

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

Шестнадцатиричная строка.
0 1 2 4 5 11 12 13 15 16 24 U2 U3 U4 U5 U6

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

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

Тесты:

>>> main('0x12ef02d')
[('U2', '3'), ('U3', '1'), ('U4', '1'), ('U5', '7'), ('U6', '302')]

>>> main('0x1580e52')
[('U2', '4'), ('U3', '114'), ('U4', '0'), ('U5', '0'), ('U6', '344')]

>>> main('0x19b244a')
[('U2', '2'), ('U3', '34'), ('U4', '0'), ('U5', '1'), ('U6', '411')]

>>> main('0x152cc3d')
[('U2', '7'), ('U3', '97'), ('U4', '0'), ('U5', '6'), ('U6', '338')]

Вариант №34

Задача №8

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

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

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

0 1 2 3 4 5 6 7 8 16 D1 D2 D3 D5 D6

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

Целое.

0 8 9 10 11 12 13 14 15 16 D6 D1 D3 D2 D5

Тесты:

>>> main('0x1c4cf')
116676

>>> main('0xc8bd')
123592

>>> main('0x1fca4')
82428

>>> main('0x7118')
41073

Вариант №35

Задача №8

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

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

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

0 6 7 16 17 20 D1 D2 D3 21 22 29 30 33 34 40 D3 D4 D5 D6

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

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

0 4 5 11 12 15 16 20 D3 D6 D5 D2 21 25 26 33 34 40 D2 D4 D1

Тесты:

>>> main('1940690524484')
'0x111a2b2fe15'

>>> main('360384216796')
'0x172897df289'

>>> main('1630617507031')
'0x15e8529ebd0'

>>> main('1454066050007')
'0x15cd247aa8b'

Вариант №36

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 3 4 8 9 10 11 12 13 14 15 Q1 Q2 Q3 Q4 Q5 Q6

Тесты:

>>> main(('1', '15', '1', '1', '3', '0'))
'0x3af1'

>>> main(('5', '24', '1', '0', '1', '3'))
'0xd385'

>>> main(('7', '16', '3', '1', '2', '2'))
'0xaf07'

>>> main(('7', '2', '0', '1', '2', '0'))
'0x2827'

Вариант №37

Задача №8

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

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

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

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

Целое.
0 4 5 14 15 16 17 20 21 24 S1 S2 S3 S4 S5

Тесты:

>>> main([('S1', '0x9'), ('S2', '0x3a8'), ('S3', '0x2'), ('S4', '0xa'), ('S5', '0x4')])
9794825

>>> main([('S1', '0xf'), ('S2', '0x3e2'), ('S3', '0x3'), ('S4', '0x9'), ('S5', '0x3')])
7601231

>>> main([('S1', '0x18'), ('S2', '0x1db'), ('S3', '0x2'), ('S4', '0x1'), ('S5', '0x9')])
19086200

>>> main([('S1', '0x17'), ('S2', '0x10'), ('S3', '0x3'), ('S4', '0x8'), ('S5', '0x8')])
17924631

Вариант №38

Задача №8

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

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

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

0 9 10 17 N1 N2 18 19 25 26 31 32 34 N2 N3 N4 N5

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

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

0 2 3 9 10 17 N5 N3 N1 18 19 20 25 26 34 N1 N4 N2

Тесты:

>>> main('16721629310')
'33614330027'

>>> main('21527901968')
'7315669805'

>>> main('18844937021')
'29688133436'

>>> main('24267136694')
'30578236013'

Вариант №39

Задача №8

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

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

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

0 8 9 12 13 21 22 23 J1 J2 J3

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

Целое.

0 1 2 10 11 19 20 23 J3 J1 J2

Тесты:

>>> main('0x3e31a9')
9260996

>>> main('0x1e3544')
11150276

>>> main('0x3549ab')
5070504

>>> main('0x12cae7')
5716568

Вариант №40

Задача №8

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

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

Целое.
0 3 4 12 13 20 21 22 R2 R3 R4

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

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

Тесты:

>>> main(3367562)
[('R2', 40), ('R3', 155), ('R4', 1)]

>>> main(5756730)
[('R2', 371), ('R3', 190), ('R4', 2)]

>>> main(1381377)
[('R2', 320), ('R3', 168), ('R4', 0)]

>>> main(6498023)
[('R2', 110), ('R3', 25), ('R4', 3)]