ИНБО-07-22

Вариант №1

Задача №8

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

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

Десятичная строка.
0 4 5 6 7 10 11 14 15 B1 B2 B3 B4 B5

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

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

Тесты:

>>> main('34853')
('5', '1', '0', '1', '1')

>>> main('64883')
('19', '3', '10', '15', '1')

>>> main('59844')
('4', '2', '3', '13', '1')

>>> main('50705')
('17', '0', '12', '8', '1')

Вариант №2

Задача №8

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

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

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

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

Десятичная строка.
0 9 10 17 18 19 Q1 Q2 Q3 20 26 27 28 30 31 39 Q3 Q4 Q5 Q6

Тесты:

>>> main([('Q1', '590'), ('Q2', '216'), ('Q3', '23'), ('Q4', '0'), ('Q5', '6'), ('Q6', '159')])
'343066763854'

>>> main([('Q1', '343'), ('Q2', '138'), ('Q3', '53'), ('Q4', '1'), ('Q5', '3'), ('Q6', '343')])
'737540450647'

>>> main([('Q1', '301'), ('Q2', '101'), ('Q3', '257'), ('Q4', '0'), ('Q5', '1'), ('Q6', '480')])
'1031128061229'

>>> main([('Q1', '52'), ('Q2', '222'), ('Q3', '56'), ('Q4', '0'), ('Q5', '2'), ('Q6', '405')])
'870282655796'

Вариант №3

Задача №8

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

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

Целое.
0 3 4 11 12 18 19 26 27 29 U1 U2 U3 U4 U5

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

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

Тесты:

>>> main(101872720)
(0, 69, 39, 194, 0)

>>> main(213112660)
(4, 117, 61, 150, 1)

>>> main(88009592)
(8, 183, 110, 167, 0)

>>> main(40473866)
(10, 80, 25, 77, 0)

Вариант №4

Задача №8

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

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

Шестнадцатиричная строка.
0 9 10 16 17 24 R1 R2 R3 25 26 27 35 36 43 44 49 R3 R4 R6

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

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

Тесты:

>>> main('0x20db408017d77')
(375, 95, 0, 129, 32)

>>> main('0x16b883760a7b5')
(949, 41, 944, 262, 22)

>>> main('0x91602f6c4ad7')
(727, 18, 950, 5, 9)

>>> main('0x530ac9ca5a78')
(632, 22, 229, 345, 5)

Вариант №5

Задача №8

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

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

Шестнадцатиричная строка.
0 6 7 8 9 10 17 18 25 Q1 Q2 Q3 Q4 Q5

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

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

Тесты:

>>> main('0x932e38')
('0x38', '0x0', '0x2', '0xcb', '0x24')

>>> main('0x3bab960')
('0x60', '0x0', '0x1', '0xae', '0xee')

>>> main('0xbc1b84')
('0x4', '0x1', '0x3', '0x6', '0x2f')

>>> main('0x29813d8')
('0x58', '0x1', '0x3', '0x4', '0xa6')

Вариант №6

Задача №8

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

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

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

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

Целое.
0 5 6 12 13 14 20 21 23 M1 M2 M3 M4 M5

Тесты:

>>> main(('26', '102', '1', '107', '2'))
5962138

>>> main(('13', '46', '0', '78', '7'))
15960973

>>> main(('41', '4', '1', '112', '3'))
8134953

>>> main(('5', '84', '1', '48', '2'))
4994309

Вариант №7

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 7 8 13 14 15 16 21 A1 A2 A4

Тесты:

>>> main({'A1': 11, 'A2': 37, 'A4': 1})
'0x1250b'

>>> main({'A1': 33, 'A2': 32, 'A4': 57})
'0x392021'

>>> main({'A1': 58, 'A2': 3, 'A4': 53})
'0x35033a'

>>> main({'A1': 234, 'A2': 52, 'A4': 8})
'0x834ea'

Вариант №8

Задача №8

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

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

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

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

Десятичная строка.
0 1 2 9 10 15 M1 M2 M3 16 17 24 25 31 M3 M5

Тесты:

>>> main(('1', '47', '59', '83'))
'2785078461'

>>> main(('3', '86', '49', '5'))
'167822683'

>>> main(('3', '25', '93', '98'))
'3288429671'

>>> main(('2', '1', '118', '122'))
'4093761542'

Вариант №9

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 8 9 14 15 16 17 18 19 20 J1 J2 J3 J4 J5 J6

Тесты:

>>> main([('J1', '0x3'), ('J2', '0x18'), ('J3', '0x0'), ('J4', '0x1'), ('J5', '0x2'), ('J6', '0x3')])
'0x1d3003'

>>> main([('J1', '0x1fc'), ('J2', '0x37'), ('J3', '0x0'), ('J4', '0x1'), ('J5', '0x2'), ('J6', '0x2')])
'0x156ffc'

>>> main([('J1', '0x130'), ('J2', '0x7'), ('J3', '0x0'), ('J4', '0x0'), ('J5', '0x3'), ('J6', '0x1')])
'0xe0f30'

>>> main([('J1', '0x7'), ('J2', '0x17'), ('J3', '0x0'), ('J4', '0x0'), ('J5', '0x2'), ('J6', '0x3')])
'0x1c2e07'

Вариант №10

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 1 6 7 8 16 17 20 F2 F3 F4 F5

Тесты:

>>> main((2, 1, 95, 2))
'0x45f84'

>>> main((21, 1, 92, 13))
'0x1a5caa'

>>> main((45, 1, 505, 5))
'0xbf9da'

>>> main((62, 0, 354, 9))
'0x13627c'

Вариант №11

Задача №8

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

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

Десятичная строка.
0 1 2 3 4 10 11 17 18 25 Q1 Q2 Q4 Q5

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

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

Тесты:

>>> main('45863666')
(2, 0, 122, 174)

>>> main('45579881')
(1, 2, 111, 173)

>>> main('8470840')
(0, 2, 40, 32)

>>> main('5213707')
(3, 2, 113, 19)

Вариант №12

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 7 8 10 11 12 19 20 25 T1 T2 T3 T4 T5

Тесты:

>>> main({'T1': 88, 'T2': 1, 'T3': 1, 'T4': 185, 'T5': 19})
'0x13b9958'

>>> main({'T1': 8, 'T2': 5, 'T3': 1, 'T4': 66, 'T5': 46})
'0x2e42d08'

>>> main({'T1': 244, 'T2': 0, 'T3': 0, 'T4': 162, 'T5': 47})
'0x2fa20f4'

>>> main({'T1': 177, 'T2': 6, 'T3': 0, 'T4': 73, 'T5': 27})
'0x1b496b1'

Вариант №13

Задача №8

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

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

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

0 1 10 11 19 20 A1 A2 A3 21 25 26 33 34 41 A5 A6

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

Целое.

0 7 8 9 17 18 20 A6 A1 A3 A2 21 27 28 33 34 41 A2 A5

Тесты:

>>> main('0x130afa8f8f2')
738766241356

>>> main('0x2fc096fd77f')
34611393983

>>> main('0xc3af66eab0')
4037359548976

>>> main('0x2811d368ef4')
1220004127392

Вариант №14

Задача №8

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

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

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

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

Десятичная строка.
0 9 10 18 19 M1 M3 20 28 29 30 38 M3 M4 M5

Тесты:

>>> main([('M1', '485'), ('M3', '114'), ('M4', '1'), ('M5', '410')])
'440830788069'

>>> main([('M1', '171'), ('M3', '91'), ('M4', '1'), ('M5', '177')])
'190636884139'

>>> main([('M1', '972'), ('M3', '771'), ('M4', '0'), ('M5', '175')])
'188309046220'

>>> main([('M1', '54'), ('M3', '23'), ('M4', '1'), ('M5', '295')])
'317302767670'

Вариант №15

Задача №8

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

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

Шестнадцатиричная строка.
0 5 6 11 12 15 16 17 18 20 21 22 C1 C2 C3 C4 C5 C6

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

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

Тесты:

>>> main('0x69f809')
{'C1': 9, 'C2': 32, 'C3': 15, 'C4': 1, 'C5': 2, 'C6': 3}

>>> main('0x425352')
{'C1': 18, 'C2': 13, 'C3': 5, 'C4': 2, 'C5': 0, 'C6': 2}

>>> main('0x63effb')
{'C1': 59, 'C2': 63, 'C3': 14, 'C4': 3, 'C5': 0, 'C6': 3}

>>> main('0x3756a5')
{'C1': 37, 'C2': 26, 'C3': 5, 'C4': 3, 'C5': 5, 'C6': 1}

Вариант №16

Задача №8

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

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

Целое.

0 1 6 7 15 16 19 20 25 F1 F2 F3 F4 F5

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

Целое.

0 5 6 9 10 18 19 20 25 F5 F4 F3 F1 F2

Тесты:

>>> main(29635902)
32614684

>>> main(27472767)
66689242

>>> main(27598721)
589146

>>> main(63935448)
46440444

Вариант №17

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 4 5 13 14 18 19 20 R2 R3 R4

Тесты:

>>> main(('347', '3', '1'))
'0x8eb60'

>>> main(('301', '30', '2'))
'0x17a5a0'

>>> main(('437', '6', '3'))
'0x19b6a0'

>>> main(('435', '3', '1'))
'0x8f660'

Вариант №18

Задача №8

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

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

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

0 9 10 12 13 17 J2 J3 18 19 27 28 35 J3 J4 J5

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

Целое.

0 2 3 11 12 17 J2 J4 J3 18 27 28 35 J5

Тесты:

>>> main('41719988206')
41607640759

>>> main('8039930625')
7784877878

>>> main('9624143352')
9395400097

>>> main('23952751386')
23890817974

Вариант №19

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 6 7 8 13 14 15 17 F1 F2 F3 F5

Тесты:

>>> main(('64', '0', '48', '6'))
'0x33040'

>>> main(('48', '1', '40', '1'))
'0xa8b0'

>>> main(('18', '1', '52', '6'))
'0x33492'

>>> main(('99', '0', '6', '3'))
'0x18663'

Вариант №20

Задача №8

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

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

Десятичная строка.
0 1 2 3 9 10 12 13 18 19 21 U1 U2 U4 U5 U6

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

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

Тесты:

>>> main('896683')
[('U1', '0x1'), ('U2', '0x1'), ('U4', '0x3'), ('U5', '0x2d'), ('U6', '0x1')]

>>> main('366432')
[('U1', '0x0'), ('U2', '0x0'), ('U4', '0x5'), ('U5', '0x2c'), ('U6', '0x0')]

>>> main('1230817')
[('U1', '0x1'), ('U2', '0x0'), ('U4', '0x1'), ('U5', '0x16'), ('U6', '0x2')]

>>> main('785644')
[('U1', '0x0'), ('U2', '0x2'), ('U4', '0x7'), ('U5', '0x1f'), ('U6', '0x1')]

Вариант №21

Задача №8

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

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

Шестнадцатиричная строка.
0 1 7 8 17 18 24 25 29 L1 L2 L3 L4 L5

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

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

Тесты:

>>> main('0x1444540b')
[('L1', '1'), ('L2', '5'), ('L3', '84'), ('L4', '17'), ('L5', '10')]

>>> main('0x3ce58b15')
[('L1', '1'), ('L2', '10'), ('L3', '395'), ('L4', '57'), ('L5', '30')]

>>> main('0x7b00821')
[('L1', '1'), ('L2', '16'), ('L3', '8'), ('L4', '108'), ('L5', '3')]

>>> main('0xb3085be')
[('L1', '0'), ('L2', '95'), ('L3', '133'), ('L4', '76'), ('L5', '5')]

Вариант №22

Задача №8

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

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

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

0 9 10 16 17 18 Q1 Q2 Q3 19 24 25 29 30 34 35 37 Q3 Q4 Q5 Q6

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

Целое.

0 6 7 11 12 18 Q2 Q4 Q1 19 21 22 26 27 34 35 37 Q1 Q5 Q3 Q6

Тесты:

>>> main('0x1cdd74b4b6')
128124151597

>>> main('0x383eb0886c')
252329775010

>>> main('0x3bdda087d0')
268502370081

>>> main('0xc36c56d49')
47581535707

Вариант №23

Задача №8

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

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

Целое.

0 9 10 15 16 25 26 27 28 V2 V3 V4 V5

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

Целое.

0 9 10 11 12 13 18 19 28 V5 V4 V2 V3

Тесты:

>>> main(436128299)
267799552

>>> main(375829252)
322279424

>>> main(395893726)
482793472

>>> main(58732906)
469860352

Вариант №24

Задача №8

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

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

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

0 3 4 9 10 16 17 21 H1 H2 H3 H4 22 26 27 35 36 43 H4 H6

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

Целое.

0 3 4 10 11 20 21 H1 H3 H4 H2 22 26 27 35 36 43 H2 H6

Тесты:

>>> main('0x456f0f6b1bb')
4741700770507

>>> main('0xec1e0cf9b0d')
16217897385581

>>> main('0x6fddb3ee80d')
7627862768557

>>> main('0x7a6f5335825')
8383781719397

Вариант №25

Задача №8

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

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

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

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

Десятичная строка.
0 7 8 11 12 16 17 22 L1 L2 L3 L4

Тесты:

>>> main({'L1': '0x13', 'L2': '0x8', 'L3': '0x14', 'L4': '0x0'})
'83987'

>>> main({'L1': '0x3', 'L2': '0x6', 'L3': '0x17', 'L4': '0x31'})
'6518275'

>>> main({'L1': '0x35', 'L2': '0x4', 'L3': '0x1c', 'L4': '0x30'})
'6407221'

>>> main({'L1': '0x2d', 'L2': '0x8', 'L3': '0x10', 'L4': '0x27'})
'5179437'

Вариант №26

Задача №8

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

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

Шестнадцатиричная строка.
0 4 5 6 9 10 12 13 21 22 23 Z2 Z3 Z4 Z5 Z6

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

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

Тесты:

>>> main('0x48c4c6')
[('Z2', '0x0'), ('Z3', '0x3'), ('Z4', '0x1'), ('Z5', '0x46'), ('Z6', '0x1')]

>>> main('0x6d3f16')
[('Z2', '0x0'), ('Z3', '0xc'), ('Z4', '0x7'), ('Z5', '0x169'), ('Z6', '0x1')]

>>> main('0x788347')
[('Z2', '0x0'), ('Z3', '0xd'), ('Z4', '0x0'), ('Z5', '0x1c4'), ('Z6', '0x1')]

>>> main('0xad46a')
[('Z2', '0x1'), ('Z3', '0x1'), ('Z4', '0x5'), ('Z5', '0x56'), ('Z6', '0x0')]

Вариант №27

Задача №8

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

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

Целое.

0 1 4 5 6 7 16 17 21 G2 G3 G4 G5

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

Целое.

0 9 10 13 14 15 16 17 21 G4 G2 G3 G5

Тесты:

>>> main(3651755)
3577713

>>> main(2071108)
2034484

>>> main(128987)
79855

>>> main(2326473)
2298623

Вариант №28

Задача №8

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

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

Целое.
0 1 2 11 12 15 16 19 20 24 A1 A2 A3 A4 A5 A6

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

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

Тесты:

>>> main(24150473)
[('A1', '0x1'), ('A2', '0x0'), ('A3', '0x72'), ('A4', '0x8'), ('A5', '0x0'), ('A6', '0x17')]

>>> main(22956882)
[('A1', '0x0'), ('A2', '0x1'), ('A3', '0x2d4'), ('A4', '0x4'), ('A5', '0xe'), ('A6', '0x15')]

>>> main(11074302)
[('A1', '0x0'), ('A2', '0x1'), ('A3', '0x2bf'), ('A4', '0xf'), ('A5', '0x8'), ('A6', '0xa')]

>>> main(32389335)
[('A1', '0x1'), ('A2', '0x1'), ('A3', '0x235'), ('A4', '0x3'), ('A5', '0xe'), ('A6', '0x1e')]

Вариант №29

Задача №8

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

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

Целое.

0 6 7 10 11 20 21 22 I1 I2 I3 I4

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

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

0 1 2 8 9 18 19 22 I4 I1 I3 I2

Тесты:

>>> main(229300)
'0x78ded0'

>>> main(4233327)
'0x27be'

>>> main(2706174)
'0x2a53f9'

>>> main(7528968)
'0x24b823'

Вариант №30

Задача №8

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

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

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

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

Целое.
0 1 3 4 11 12 18 19 21 L1 L2 L3 L4

Тесты:

>>> main({'L1': '0x1', 'L2': '0x4', 'L3': '0xd9', 'L4': '0x9'})
40345

>>> main({'L1': '0x1', 'L2': '0x1', 'L3': '0x3a', 'L4': '0x22'})
140195

>>> main({'L1': '0x0', 'L2': '0x0', 'L3': '0x36', 'L4': '0x58'})
361312

>>> main({'L1': '0x1', 'L2': '0x2', 'L3': '0x1c', 'L4': '0x43'})
274885

Вариант №31

Задача №8

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

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

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

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

Целое.
0 6 7 16 17 Q1 Q2 Q3 18 26 27 34 Q3 Q4

Тесты:

>>> main([('Q1', 94), ('Q2', 783), ('Q3', 126), ('Q4', 171)])
22967846878

>>> main([('Q1', 16), ('Q2', 861), ('Q3', 224), ('Q4', 4)])
566341264

>>> main([('Q1', 112), ('Q2', 883), ('Q3', 385), ('Q4', 96)])
12935477744

>>> main([('Q1', 22), ('Q2', 827), ('Q3', 446), ('Q4', 155)])
20862311830

Вариант №32

Задача №8

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

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

Десятичная строка.
0 6 7 9 10 11 12 21 22 26 D1 D3 D4 D5

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

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

Тесты:

>>> main('4126613')
('21', '1', '1007', '0')

>>> main('89433962')
('106', '1', '330', '21')

>>> main('64424465')
('17', '2', '368', '15')

>>> main('106099608')
('24', '0', '303', '25')

Вариант №33

Задача №8

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

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

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

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

Десятичная строка.
0 6 7 14 15 16 17 22 23 B1 B2 B3 B5

Тесты:

>>> main({'B1': 36, 'B2': 77, 'B3': 0, 'B5': 0})
'9892'

>>> main({'B1': 82, 'B2': 82, 'B3': 3, 'B5': 1})
'8497490'

>>> main({'B1': 13, 'B2': 223, 'B3': 3, 'B5': 1})
'8515469'

>>> main({'B1': 106, 'B2': 153, 'B3': 0, 'B5': 0})
'19690'

Вариант №34

Задача №8

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

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

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

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

Десятичная строка.
0 3 4 9 10 11 12 16 L1 L2 L3

Тесты:

>>> main(('0x1', '0xc', '0x3'))
'3265'

>>> main(('0x2', '0x3c', '0x3'))
'4034'

>>> main(('0xa', '0x1e', '0x3'))
'3562'

>>> main(('0xa', '0x3e', '0x0'))
'1002'

Вариант №35

Задача №8

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

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

Десятичная строка.
0 8 9 18 19 20 21 22 25 D1 D2 D3 D4

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

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

Тесты:

>>> main('2096216')
[('D1', '88'), ('D2', '1022'), ('D3', '3'), ('D4', '0')]

>>> main('3226392')
[('D1', '280'), ('D2', '157'), ('D3', '2'), ('D4', '1')]

>>> main('162174')
[('D1', '382'), ('D2', '316'), ('D3', '0'), ('D4', '0')]

>>> main('2487919')
[('D1', '111'), ('D2', '763'), ('D3', '0'), ('D4', '1')]

Вариант №36

Задача №8

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

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

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

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

Целое.
0 8 9 14 15 16 17 25 26 27 U1 U2 U3 U5

Тесты:

>>> main(('141', '62', '1', '3'))
201391245

>>> main(('184', '20', '2', '0'))
75960

>>> main(('457', '56', '1', '2'))
134279625

>>> main(('223', '26', '1', '1'))
67155167

Вариант №37

Задача №8

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

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

Целое.

0 3 4 6 7 10 11 18 Y1 Y2 Y3 Y4

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

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

0 2 3 6 7 14 15 18 Y2 Y3 Y4 Y1

Тесты:

>>> main(265788)
'409827'

>>> main(18659)
'99470'

>>> main(129678)
'466856'

>>> main(117325)
'433316'

Вариант №38

Задача №8

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

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

Шестнадцатиричная строка.
0 3 4 6 7 13 14 17 18 21 22 23 H1 H2 H3 H4 H5 H6

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

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

Тесты:

>>> main('0x9147f9')
{'H1': '0x9', 'H2': '0x7', 'H3': '0xf', 'H4': '0x5', 'H5': '0x4', 'H6': '0x2'}

>>> main('0xe0c0ec')
{'H1': '0xc', 'H2': '0x6', 'H3': '0x1', 'H4': '0x3', 'H5': '0x8', 'H6': '0x3'}

>>> main('0x2e8bf7')
{'H1': '0x7', 'H2': '0x7', 'H3': '0x17', 'H4': '0xa', 'H5': '0xb', 'H6': '0x0'}

>>> main('0x8dc869')
{'H1': '0x9', 'H2': '0x6', 'H3': '0x10', 'H4': '0x7', 'H5': '0x3', 'H6': '0x2'}

Вариант №39

Задача №8

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

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

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

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

Десятичная строка.
0 2 3 12 13 20 21 24 V1 V2 V3 V4

Тесты:

>>> main({'V1': 3, 'V2': 25, 'V3': 152, 'V4': 14})
'30605515'

>>> main({'V1': 3, 'V2': 532, 'V3': 108, 'V4': 12})
'26054819'

>>> main({'V1': 3, 'V2': 988, 'V3': 233, 'V4': 3})
'8208099'

>>> main({'V1': 0, 'V2': 1018, 'V3': 236, 'V4': 15})
'33398736'

Вариант №40

Задача №8

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

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

Десятичная строка.
0 1 3 4 9 10 12 13 16 Z1 Z2 Z3 Z4

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

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

Тесты:

>>> main('566')
[('Z1', 0), ('Z2', 3), ('Z3', 35), ('Z4', 0)]

>>> main('246')
[('Z1', 0), ('Z2', 3), ('Z3', 15), ('Z4', 0)]

>>> main('3966')
[('Z1', 0), ('Z2', 7), ('Z3', 55), ('Z4', 3)]

>>> main('4091')
[('Z1', 1), ('Z2', 5), ('Z3', 63), ('Z4', 3)]