ИКБО-08-22

Вариант №1

Задача №8

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

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

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

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

Десятичная строка.
0 6 7 15 16 U2 U3 17 25 26 30 31 33 U3 U4 U5

Тесты:

>>> main(('365', '117', '18', '5'))
'11953092224'

>>> main(('497', '649', '1', '7'))
'15142090880'

>>> main(('337', '140', '7', '5'))
'11216398464'

>>> main(('449', '55', '3', '7'))
'15237374080'

Вариант №2

Задача №8

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

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

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

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

Целое.
0 1 3 4 12 13 18 19 Y1 Y2 Y3 Y4 Y5

Тесты:

>>> main([('Y1', '0x1'), ('Y2', '0x3'), ('Y3', '0x1'), ('Y4', '0x6'), ('Y5', '0x0')])
49175

>>> main([('Y1', '0x0'), ('Y2', '0x7'), ('Y3', '0xb6'), ('Y4', '0x33'), ('Y5', '0x0')])
420718

>>> main([('Y1', '0x0'), ('Y2', '0x7'), ('Y3', '0xb8'), ('Y4', '0x17'), ('Y5', '0x1')])
715662

>>> main([('Y1', '0x0'), ('Y2', '0x1'), ('Y3', '0x17b'), ('Y4', '0x2a'), ('Y5', '0x1')])
874418

Вариант №3

Задача №8

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

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

Десятичная строка.
0 9 10 17 T1 T2 18 19 20 23 24 28 29 33 34 35 T2 T3 T4 T5 T6

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

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

Тесты:

>>> main('65478798166')
{'T1': '0x356', 'T2': '0x1ca', 'T3': '0xd', 'T4': '0x1e', 'T5': '0x19', 'T6': '0x3'}

>>> main('18896758295')
{'T1': '0x217', 'T2': '0x169', 'T3': '0x5', 'T4': '0x6', 'T5': '0x3', 'T6': '0x1'}

>>> main('34758990543')
{'T1': '0x2cf', 'T2': '0x306', 'T3': '0xc', 'T4': '0x17', 'T5': '0x0', 'T6': '0x2'}

>>> main('16715118816')
{'T1': '0xe0', 'T2': '0x31e', 'T3': '0x4', 'T4': '0x4', 'T5': '0x1f', 'T6': '0x0'}

Вариант №4

Задача №8

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

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

Целое.

0 4 5 10 11 13 14 22 J1 J2 J3 J4

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

Целое.

0 8 9 14 15 17 18 22 J4 J2 J3 J1

Тесты:

>>> main(3985443)
852723

>>> main(2214716)
7385735

>>> main(7087712)
157616

>>> main(6295714)
592768

Вариант №5

Задача №8

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

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

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

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

Десятичная строка.
0 9 10 11 12 14 15 R1 R2 R3 R4 16 23 24 31 R4 R5

Тесты:

>>> main({'R1': 815, 'R2': 0, 'R3': 6, 'R4': 115, 'R5': 169})
'2839143215'

>>> main({'R1': 459, 'R2': 3, 'R3': 3, 'R4': 156, 'R5': 227})
'3813555659'

>>> main({'R1': 695, 'R2': 2, 'R3': 5, 'R4': 36, 'R5': 113})
'1897028279'

>>> main({'R1': 606, 'R2': 2, 'R3': 3, 'R4': 217, 'R5': 202})
'3396123230'

Вариант №6

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 7 8 17 18 19 C2 C3 20 23 24 32 33 39 C3 C4 C5

Тесты:

>>> main([('C2', 895), ('C3', 8), ('C4', 193), ('C5', 123)])
'0xf6c1237f00'

>>> main([('C2', 758), ('C3', 33), ('C4', 482), ('C5', 119)])
'0xefe286f600'

>>> main([('C2', 369), ('C3', 53), ('C4', 367), ('C5', 51)])
'0x676fd57100'

>>> main([('C2', 60), ('C3', 2), ('C4', 356), ('C5', 62)])
'0x7d64083c00'

Вариант №7

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 7 8 17 18 19 23 M1 M3 M4

Тесты:

>>> main([('M1', '234'), ('M3', '0'), ('M4', '1')])
'0x800ea'

>>> main([('M1', '118'), ('M3', '0'), ('M4', '28')])
'0xe00076'

>>> main([('M1', '135'), ('M3', '0'), ('M4', '1')])
'0x80087'

>>> main([('M1', '75'), ('M3', '1'), ('M4', '6')])
'0x34004b'

Вариант №8

Задача №8

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

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

Шестнадцатиричная строка.
0 7 8 9 10 16 17 19 20 29 V1 V3 V4 V5

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

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

Тесты:

>>> main('0x2a17ef75')
{'V1': '117', 'V3': '123', 'V4': '3', 'V5': '673'}

>>> main('0x3ade9d99')
{'V1': '153', 'V3': '39', 'V4': '7', 'V5': '941'}

>>> main('0xb9c968e')
{'V1': '142', 'V3': '37', 'V4': '6', 'V5': '185'}

>>> main('0x24174900')
{'V1': '0', 'V3': '82', 'V4': '3', 'V5': '577'}

Вариант №9

Задача №8

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

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

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

0 6 7 12 13 17 18 27 U1 U2 U3 U4

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

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

0 9 10 16 17 21 22 27 U4 U1 U3 U2

Тесты:

>>> main('0x419e6d2')
'0x35f4906'

>>> main('0xc75daeb')
'0xd5daf1d'

>>> main('0xa70faf1')
'0xd4fc69c'

>>> main('0x88f088d')
'0x4703623'

Вариант №10

Задача №8

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

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

Десятичная строка.
0 8 9 15 16 17 F1 F2 F3 F4 18 23 24 27 28 35 F4 F5

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

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

Тесты:

>>> main('250198354')
{'F1': '338', 'F2': '92', 'F3': '1', 'F4': '116', 'F5': '14'}

>>> main('52230909')
{'F1': '253', 'F2': '125', 'F3': '0', 'F4': '14', 'F5': '3'}

>>> main('1313099')
{'F1': '331', 'F2': '4', 'F3': '0', 'F4': '10', 'F5': '0'}

>>> main('152296028')
{'F1': '92', 'F2': '109', 'F3': '1', 'F4': '9', 'F5': '9'}

Вариант №11

Задача №8

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

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

Целое.
0 5 6 10 11 14 15 23 D2 D3 D4

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

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

Тесты:

>>> main(8530339)
('6', '5', '260')

>>> main(7139634)
('4', '14', '217')

>>> main(4154531)
('18', '12', '126')

>>> main(13351425)
('8', '7', '407')

Вариант №12

Задача №8

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

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

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

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

Целое.
0 6 7 16 17 19 Y1 Y2 Y3 20 25 26 28 29 32 33 38 Y3 Y4 Y5 Y6

Тесты:

>>> main([('Y1', 71), ('Y2', 6), ('Y3', 261), ('Y4', 3), ('Y5', 4), ('Y6', 62)])
534958965575

>>> main([('Y1', 4), ('Y2', 322), ('Y3', 153), ('Y4', 1), ('Y5', 9), ('Y6', 51)])
443005706500

>>> main([('Y1', 58), ('Y2', 773), ('Y3', 68), ('Y4', 6), ('Y5', 15), ('Y6', 63)])
549630608058

>>> main([('Y1', 84), ('Y2', 853), ('Y3', 459), ('Y4', 3), ('Y5', 7), ('Y6', 21)])
184408320724

Вариант №13

Задача №8

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

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

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

0 4 5 7 8 9 10 17 A1 A2 A3 A4 18 19 26 27 35 A4 A5

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

Целое.

0 8 9 10 11 17 A4 A3 A5 18 19 21 22 30 31 35 A5 A2 A1

Тесты:

>>> main('31337925')
10740685707

>>> main('122637007')
32215879122

>>> main('111495874')
4298548562

>>> main('42602897')
36509485700

Вариант №14

Задача №8

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

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

Шестнадцатиричная строка.
0 4 5 10 11 12 20 G1 G2 G3 G4

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

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

Тесты:

>>> main('0x1a049b')
('0x1b', '0x24', '0x0', '0x1a0')

>>> main('0x4035')
('0x15', '0x1', '0x0', '0x4')

>>> main('0x9517c')
('0x1c', '0xb', '0x0', '0x95')

>>> main('0x1d89f8')
('0x18', '0xf', '0x1', '0x1d8')

Вариант №15

Задача №8

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

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

Шестнадцатиричная строка.
0 4 5 8 9 11 12 19 D1 D2 D3 D4

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

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

Тесты:

>>> main('0x85261')
(1, 3, 1, 133)

>>> main('0xcb060')
(0, 3, 0, 203)

>>> main('0xdd755')
(21, 10, 3, 221)

>>> main('0xb8f45')
(5, 10, 7, 184)

Вариант №16

Задача №8

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

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

Целое.
0 5 6 12 13 20 21 S1 S3 S4 22 25 26 33 34 43 S4 S5 S6

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

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

Тесты:

>>> main(8765134017919)
[('S1', '63'), ('S3', '152'), ('S4', '21'), ('S5', '50'), ('S6', '510')]

>>> main(13268098957501)
[('S1', '61'), ('S3', '154'), ('S4', '2'), ('S5', '78'), ('S6', '772')]

>>> main(2842643574628)
[('S1', '36'), ('S3', '21'), ('S4', '22'), ('S5', '118'), ('S6', '165')]

>>> main(6523995448547)
[('S1', '35'), ('S3', '115'), ('S4', '3'), ('S5', '191'), ('S6', '379')]

Вариант №17

Задача №8

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

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

Десятичная строка.
0 8 9 14 15 21 E1 E2 E3 22 23 32 33 36 37 42 E3 E4 E6

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

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

Тесты:

>>> main('5537995184321')
{'E1': 193, 'E2': 44, 'E3': 120, 'E4': 724, 'E6': 40}

>>> main('473169441175')
{'E1': 407, 'E2': 24, 'E3': 49, 'E4': 86, 'E6': 3}

>>> main('1122813430799')
{'E1': 15, 'E2': 38, 'E3': 202, 'E4': 729, 'E6': 8}

>>> main('3975882051312')
{'E1': 240, 'E2': 7, 'E3': 19, 'E4': 874, 'E6': 28}

Вариант №18

Задача №8

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

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

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

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

Десятичная строка.
0 1 2 6 7 8 9 18 M2 M3 M4

Тесты:

>>> main({'M2': '2', 'M3': '0', 'M4': '920'})
'471048'

>>> main({'M2': '11', 'M3': '1', 'M4': '1002'})
'513196'

>>> main({'M2': '29', 'M3': '2', 'M4': '593'})
'303988'

>>> main({'M2': '10', 'M3': '2', 'M4': '392'})
'201000'

Вариант №19

Задача №8

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

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

Десятичная строка.
0 4 5 10 11 20 21 24 25 29 H1 H2 H3 H5

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

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

Тесты:

>>> main('728502491')
[('H1', '0x1b'), ('H2', '0x6'), ('H3', '0x182'), ('H5', '0x15')]

>>> main('940263082')
[('H1', '0xa'), ('H2', '0x35'), ('H3', '0x168'), ('H5', '0x1c')]

>>> main('1045588868')
[('H1', '0x4'), ('H2', '0x1c'), ('H3', '0x24d'), ('H5', '0x1f')]

>>> main('128351297')
[('H1', '0x1'), ('H2', '0x22'), ('H3', '0xcf'), ('H5', '0x3')]

Вариант №20

Задача №8

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

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

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

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

Десятичная строка.
0 9 10 12 13 15 H1 H2 H3 16 17 18 19 22 23 31 H3 H5 H6

Тесты:

>>> main(('0x30c', '0x5', '0x12', '0x7', '0x188'))
'3292157708'

>>> main(('0x100', '0x4', '0x4', '0x2', '0x164'))
'2987430144'

>>> main(('0x214', '0x7', '0x1b', '0xb', '0x54'))
'710639124'

>>> main(('0x303', '0x1', '0x4', '0xd', '0x4b'))
'635995907'

Вариант №21

Задача №8

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

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

Шестнадцатиричная строка.
0 9 10 11 12 21 22 F1 F3 F4

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

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

Тесты:

>>> main('0x651827')
[('F1', 39), ('F3', 593), ('F4', 1)]

>>> main('0x658112')
[('F1', 274), ('F3', 600), ('F4', 1)]

>>> main('0x3489b2')
[('F1', 434), ('F3', 840), ('F4', 0)]

>>> main('0x48063f')
[('F1', 575), ('F3', 128), ('F4', 1)]

Вариант №22

Задача №8

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

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

Целое.

0 1 9 10 12 13 21 22 23 24 30 S1 S2 S3 S4 S5

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

Целое.

0 1 7 8 16 17 18 19 21 22 30 S1 S2 S5 S3 S4

Тесты:

>>> main(14633617)
1050101761

>>> main(5418242)
626688256

>>> main(7464912)
1674307584

>>> main(225280)
115343360

Вариант №23

Задача №8

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

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

Целое.

0 7 8 17 18 22 K1 K2 K3 23 26 27 30 31 35 36 44 K3 K4 K5 K6

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

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

0 8 9 16 17 22 K3 K1 K2 23 26 27 30 31 35 36 44 K2 K4 K5 K6

Тесты:

>>> main(34059220264362)
'0x1efa034b55ee'

>>> main(28148126514932)
'0x1999b9fde9c5'

>>> main(34838567680105)
'0x1faf7ef0d31c'

>>> main(31793847834287)
'0x1cea932d5f40'

Вариант №24

Задача №8

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

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

Целое.

0 6 7 14 15 19 20 23 24 25 C1 C3 C4 C5

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

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

0 6 7 11 12 19 20 21 22 25 C1 C3 C5 C4

Тесты:

>>> main(55061875)
'19925107'

>>> main(13922870)
'54527030'

>>> main(32887993)
'63964601'

>>> main(47585484)
'56624716'

Вариант №25

Задача №8

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

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

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

0 9 10 15 16 17 N2 N3 18 20 21 26 27 34 N4 N5 N6

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

Целое.

0 7 8 13 14 16 17 N6 N2 N4 N3 18 19 28 29 34 N3 N5

Тесты:

>>> main('0x2c7e70512')
33823277400

>>> main('0x2217b40c0')
5906075716

>>> main('0x2a248f8b6')
9663725140

>>> main('0x1f6a3b569')
28454563134

Вариант №26

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 1 2 11 12 17 18 21 22 24 25 29 B1 B2 B3 B4 B5

Тесты:

>>> main({'B1': '0', 'B2': '53', 'B3': '3', 'B4': '8', 'B5': '6'})
'0x1a030d4'

>>> main({'B1': '1', 'B2': '593', 'B3': '54', 'B4': '10', 'B5': '1'})
'0x6b6945'

>>> main({'B1': '1', 'B2': '277', 'B3': '35', 'B4': '15', 'B5': '3'})
'0xfe3455'

>>> main({'B1': '0', 'B2': '746', 'B3': '17', 'B4': '15', 'B5': '7'})
'0x1fd1ba8'

Вариант №27

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 4 5 12 13 15 16 22 B1 B3 B4

Тесты:

>>> main({'B1': '0xb', 'B3': '0x2', 'B4': '0x60'})
'0x60400b'

>>> main({'B1': '0x5', 'B3': '0x5', 'B4': '0x6f'})
'0x6fa005'

>>> main({'B1': '0x10', 'B3': '0x7', 'B4': '0x1c'})
'0x1ce010'

>>> main({'B1': '0x14', 'B3': '0x1', 'B4': '0x3f'})
'0x3f2014'

Вариант №28

Задача №8

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

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

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

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

Целое.
0 1 4 5 9 10 16 17 22 N1 N2 N3 N4 N5

Тесты:

>>> main([('N1', '0'), ('N2', '3'), ('N3', '12'), ('N4', '23'), ('N5', '33')])
4349318

>>> main([('N1', '0'), ('N2', '14'), ('N3', '13'), ('N4', '123'), ('N5', '52')])
6942140

>>> main([('N1', '1'), ('N2', '1'), ('N3', '14'), ('N4', '104'), ('N5', '46')])
6136259

>>> main([('N1', '1'), ('N2', '10'), ('N3', '29'), ('N4', '78'), ('N5', '16')])
2177973

Вариант №29

Задача №8

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

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

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

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

Десятичная строка.
0 6 7 9 10 11 14 15 17 18 20 C1 C2 C3 C4 C5 C6

Тесты:

>>> main([('C1', '64'), ('C2', '5'), ('C3', '1'), ('C4', '14'), ('C5', '2'), ('C6', '4')])
'1144512'

>>> main([('C1', '58'), ('C2', '4'), ('C3', '1'), ('C4', '6'), ('C5', '7'), ('C6', '7')])
'2078266'

>>> main([('C1', '37'), ('C2', '2'), ('C3', '0'), ('C4', '14'), ('C5', '1'), ('C6', '5')])
'1372453'

>>> main([('C1', '107'), ('C2', '1'), ('C3', '1'), ('C4', '7'), ('C5', '7'), ('C6', '4')])
'1293547'

Вариант №30

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 3 4 10 11 17 A1 A2 A3 18 19 24 25 26 27 34 A3 A4 A5 A6

Тесты:

>>> main([('A1', 1), ('A2', 69), ('A3', 4), ('A4', 7), ('A5', 2), ('A6', 185)])
'0x5cc382451'

>>> main([('A1', 14), ('A2', 91), ('A3', 45), ('A4', 58), ('A5', 3), ('A6', 213)])
'0x6afd16dbe'

>>> main([('A1', 4), ('A2', 115), ('A3', 124), ('A4', 25), ('A5', 0), ('A6', 130)])
'0x410cbe734'

>>> main([('A1', 1), ('A2', 44), ('A3', 17), ('A4', 24), ('A5', 1), ('A6', 157)])
'0x4eac08ac1'

Вариант №31

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 3 4 5 14 15 20 21 24 25 V1 V2 V3 V4 V5 V6

Тесты:

>>> main((14, 0, 642, 42, 14, 0))
'0x1d5504e'

>>> main((6, 0, 551, 57, 11, 1))
'0x37cc4e6'

>>> main((2, 1, 371, 53, 8, 0))
'0x11aae72'

>>> main((14, 1, 83, 32, 1, 1))
'0x2300a7e'

Вариант №32

Задача №8

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

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

Целое.
0 4 5 14 15 24 25 27 28 30 M1 M2 M3 M4 M5

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

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

Тесты:

>>> main(1630665526)
('0x16', '0x3d9', '0x263', '0x0', '0x6')

>>> main(944997806)
('0xe', '0x2d', '0xa7', '0x4', '0x3')

>>> main(478153006)
('0xe', '0x49', '0x100', '0x6', '0x1')

>>> main(168599074)
('0x2', '0xf1', '0x19', '0x5', '0x0')

Вариант №33

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 1 2 3 4 8 9 10 X1 X3 X4

Тесты:

>>> main([('X1', 2), ('X3', 6), ('X4', 3)])
'0x662'

>>> main([('X1', 3), ('X3', 14), ('X4', 2)])
'0x4e3'

>>> main([('X1', 3), ('X3', 0), ('X4', 2)])
'0x403'

>>> main([('X1', 2), ('X3', 24), ('X4', 1)])
'0x382'

Вариант №34

Задача №8

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

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

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

0 7 8 14 15 19 O1 O2 O3 20 24 25 34 35 38 O3 O4

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

Целое.

0 9 10 17 18 19 O4 O1 O2 20 24 25 28 29 38 O2 O3

Тесты:

>>> main('18508205568')
322679865895

>>> main('4289694370')
463322384511

>>> main('20711110853')
131028162153

>>> main('2880791279')
469251112021

Вариант №35

Задача №8

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

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

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

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

Десятичная строка.
0 6 7 15 16 24 25 N1 N2 N3

Тесты:

>>> main((80, 496, 320))
'21035088'

>>> main((30, 403, 70))
'4639134'

>>> main((38, 63, 412))
'27008934'

>>> main((70, 171, 102))
'6706630'

Вариант №36

Задача №8

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

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

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

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

Десятичная строка.
0 6 7 12 13 14 15 17 E1 E2 E3 E4

Тесты:

>>> main([('E1', 44), ('E2', 15), ('E3', 3), ('E4', 0)])
'26540'

>>> main([('E1', 30), ('E2', 32), ('E3', 0), ('E4', 3)])
'102430'

>>> main([('E1', 1), ('E2', 23), ('E3', 1), ('E4', 6)])
'207745'

>>> main([('E1', 93), ('E2', 11), ('E3', 0), ('E4', 4)])
'132573'

Вариант №37

Задача №8

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

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

Целое.

0 4 5 6 7 8 9 15 W1 W3 W4

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

Целое.

0 6 7 8 9 10 11 15 W4 W3 W1

Тесты:

>>> main(41292)
24912

>>> main(50390)
45282

>>> main(14607)
31004

>>> main(46072)
49625

Вариант №38

Задача №8

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

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

Целое.

0 2 3 5 6 11 12 17 18 19 20 25 U2 U3 U4 U5 U6

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

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

0 5 6 11 12 13 14 16 17 19 20 25 U3 U4 U5 U2 U6

Тесты:

>>> main(67010247)
'66075131'

>>> main(27604690)
'27301083'

>>> main(48341495)
'48334471'

>>> main(62047538)
'61967124'

Вариант №39

Задача №8

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

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

Шестнадцатиричная строка.
0 9 10 19 20 25 26 30 Q1 Q2 Q3 Q4

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

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

Тесты:

>>> main('0x4a2f6b1b')
{'Q1': '795', 'Q2': '986', 'Q3': '34', 'Q4': '18'}

>>> main('0x46d5c3a6')
{'Q1': '934', 'Q2': '368', 'Q3': '45', 'Q4': '17'}

>>> main('0x4d9b0071')
{'Q1': '113', 'Q2': '704', 'Q3': '25', 'Q4': '19'}

>>> main('0x51bd96f9')
{'Q1': '761', 'Q2': '869', 'Q3': '27', 'Q4': '20'}

Вариант №40

Задача №8

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

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

Шестнадцатиричная строка.
0 2 3 5 6 13 14 15 16 24 A1 A2 A3 A4 A5

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

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

Тесты:

>>> main('0x6885b2')
{'A1': '0x2', 'A2': '0x6', 'A3': '0x16', 'A4': '0x2', 'A5': '0x68'}

>>> main('0xdcd29f')
{'A1': '0x7', 'A2': '0x3', 'A3': '0x4a', 'A4': '0x3', 'A5': '0xdc'}

>>> main('0x1b01988')
{'A1': '0x0', 'A2': '0x1', 'A3': '0x66', 'A4': '0x0', 'A5': '0x1b0'}

>>> main('0x18f57bf')
{'A1': '0x7', 'A2': '0x7', 'A3': '0x5e', 'A4': '0x1', 'A5': '0x18f'}