ИКБО-30-22

Вариант №1

Задача №8

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

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

Целое.
0 7 8 10 11 13 14 16 H1 H2 H3 H4 17 18 22 23 32 H4 H5 H6

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

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

Тесты:

>>> main(7178236167)
('7', '1', '6', '12', '22', '855')

>>> main(953993790)
('62', '2', '1', '3', '23', '113')

>>> main(1352890896)
('16', '2', '7', '13', '8', '161')

>>> main(8454258726)
('38', '0', '0', '7', '26', '1007')

Вариант №2

Задача №8

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

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

Шестнадцатиричная строка.
0 3 4 5 6 14 15 24 25 27 K1 K2 K3 K4 K5

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

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

Тесты:

>>> main('0xefa7c29')
('9', '2', '496', '500', '7')

>>> main('0xb9750b9')
('9', '3', '322', '814', '5')

>>> main('0xc326466')
('6', '2', '401', '100', '6')

>>> main('0x7c963b0')
('0', '3', '398', '914', '3')

Вариант №3

Задача №8

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

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

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

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

Десятичная строка.
0 1 2 9 10 11 12 20 21 27 H1 H2 H3 H4 H5

Тесты:

>>> main({'H1': '0', 'H2': '231', 'H3': '0', 'H4': '124', 'H5': '81'})
'170378140'

>>> main({'H1': '3', 'H2': '146', 'H3': '2', 'H4': '472', 'H5': '120'})
'253594187'

>>> main({'H1': '1', 'H2': '142', 'H3': '0', 'H4': '255', 'H5': '29'})
'61862457'

>>> main({'H1': '2', 'H2': '49', 'H3': '3', 'H4': '32', 'H5': '60'})
'125963462'

Вариант №4

Задача №8

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

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

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

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

Целое.
0 1 8 9 11 12 17 V1 V2 V3

Тесты:

>>> main(('1', '185', '0'))
371

>>> main(('1', '158', '5'))
2877

>>> main(('0', '55', '4'))
2158

>>> main(('1', '180', '5'))
2921

Вариант №5

Задача №8

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

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

Целое.

0 4 5 6 10 11 12 T1 T2 T4

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

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

0 4 5 6 7 11 12 T1 T4 T2

Тесты:

>>> main(2032)
'4112'

>>> main(5062)
'70'

>>> main(135)
'7'

>>> main(6731)
'107'

Вариант №6

Задача №8

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

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

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

0 1 10 11 14 15 16 22 T1 T2 T3 T4 T5

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

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

0 6 7 16 17 18 19 22 T5 T2 T4 T1 T3

Тесты:

>>> main('3778722')
'0x2a28b9'

>>> main('1423960')
'0x3a9615'

>>> main('419882')
'0x680a86'

>>> main('1084870')
'0xb7190'

Вариант №7

Задача №8

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

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

Десятичная строка.
0 1 4 5 12 13 19 20 23 24 30 S1 S2 S3 S4 S5 S6

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

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

Тесты:

>>> main('647911449')
{'S1': '1', 'S2': '12', 'S3': '192', 'S4': '114', 'S5': '9', 'S6': '38'}

>>> main('1569112849')
{'S1': '1', 'S2': '8', 'S3': '24', 'S4': '54', 'S5': '8', 'S6': '93'}

>>> main('1166996381')
{'S1': '1', 'S2': '14', 'S3': '156', 'S4': '119', 'S5': '8', 'S6': '69'}

>>> main('776811408')
{'S1': '0', 'S2': '8', 'S3': '156', 'S4': '105', 'S5': '4', 'S6': '46'}

Вариант №8

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x2c1f5')
{'Q1': '5', 'Q2': '62', 'Q3': '0', 'Q4': '8', 'Q5': '1', 'Q6': '1'}

>>> main('0x4cb6a')
{'Q1': '2', 'Q2': '45', 'Q3': '1', 'Q4': '9', 'Q5': '1', 'Q6': '2'}

>>> main('0x382a')
{'Q1': '2', 'Q2': '5', 'Q3': '0', 'Q4': '7', 'Q5': '0', 'Q6': '0'}

>>> main('0x60a86')
{'Q1': '6', 'Q2': '16', 'Q3': '1', 'Q4': '1', 'Q5': '0', 'Q6': '3'}

Вариант №9

Задача №8

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

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

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

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

Десятичная строка.
0 1 2 3 5 6 14 D1 D3 D4

Тесты:

>>> main([('D1', '0'), ('D3', '3'), ('D4', '65')])
'4184'

>>> main([('D1', '3'), ('D3', '1'), ('D4', '434')])
'27787'

>>> main([('D1', '2'), ('D3', '2'), ('D4', '190')])
'12178'

>>> main([('D1', '2'), ('D3', '4'), ('D4', '412')])
'26402'

Вариант №10

Задача №8

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

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

Целое.
0 8 9 14 15 K1 K2 K3 16 17 26 27 28 31 K3 K4 K5 K6

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

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

Тесты:

>>> main(141307595)
[('K1', 203), ('K2', 23), ('K3', 0), ('K4', 54), ('K5', 1), ('K6', 0)]

>>> main(383878382)
[('K1', 238), ('K2', 2), ('K3', 3), ('K4', 880), ('K5', 0), ('K6', 1)]

>>> main(404276995)
[('K1', 259), ('K2', 35), ('K3', 1), ('K4', 12), ('K5', 1), ('K6', 1)]

>>> main(1161455442)
[('K1', 338), ('K2', 51), ('K3', 0), ('K4', 669), ('K5', 0), ('K6', 4)]

Вариант №11

Задача №8

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

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

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

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

Целое.
0 7 8 12 13 15 16 K1 K2 K3 K4

Тесты:

>>> main({'K1': 53, 'K2': 14, 'K3': 0, 'K4': 1})
69173

>>> main({'K1': 162, 'K2': 24, 'K3': 0, 'K4': 0})
6306

>>> main({'K1': 110, 'K2': 27, 'K3': 6, 'K4': 0})
56174

>>> main({'K1': 69, 'K2': 27, 'K3': 6, 'K4': 1})
121669

Вариант №12

Задача №8

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

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

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

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

Десятичная строка.
0 3 4 13 14 18 A2 A3 19 20 21 29 30 37 A3 A4 A5

Тесты:

>>> main([('A2', 424), ('A3', 6), ('A4', 274), ('A5', 196)])
'211028122240'

>>> main([('A2', 50), ('A3', 39), ('A4', 492), ('A5', 179)])
'193232225056'

>>> main([('A2', 62), ('A3', 67), ('A4', 480), ('A5', 156)])
'168511456224'

>>> main([('A2', 679), ('A3', 10), ('A4', 128), ('A5', 74)])
'79725505136'

Вариант №13

Задача №8

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

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

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

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

Целое.
0 1 4 5 12 13 14 W1 W2 W3

Тесты:

>>> main((0, 15, 121))
3902

>>> main((1, 13, 96))
3099

>>> main((0, 5, 171))
5482

>>> main((0, 14, 168))
5404

Вариант №14

Задача №8

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

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

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

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

Целое.
0 9 10 16 W1 W2 17 18 24 25 32 W2 W4

Тесты:

>>> main(('542', '75', '9'))
302067230

>>> main(('185', '208', '95'))
3187884217

>>> main(('491', '204', '227'))
7617065451

>>> main(('101', '109', '145'))
4865504357

Вариант №15

Задача №8

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

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

Целое.

0 2 3 4 11 12 15 16 24 25 29 Q2 Q3 Q4 Q5 Q6

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

Целое.

0 7 8 12 13 15 16 24 25 26 29 Q3 Q6 Q5 Q2 Q4

Тесты:

>>> main(175615411)
678888923

>>> main(557588270)
121377010

>>> main(864103632)
159455693

>>> main(671877257)
34346120

Вариант №16

Задача №8

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

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

Целое.
0 9 10 18 19 24 25 30 H1 H2 H3

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

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

Тесты:

>>> main(1475860)
('276', '417', '2')

>>> main(26442970)
('218', '223', '50')

>>> main(6147694)
('622', '371', '11')

>>> main(20217545)
('713', '287', '38')

Вариант №17

Задача №8

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

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

Десятичная строка.
0 4 5 11 12 19 20 23 24 29 D1 D2 D3 D5

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

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

Тесты:

>>> main('791606624')
{'D1': '0x0', 'D2': '0x2b', 'D3': '0xef', 'D5': '0x2f'}

>>> main('218657880')
{'D1': '0x18', 'D2': '0x22', 'D3': '0x87', 'D5': '0xd'}

>>> main('686947152')
{'D1': '0x10', 'D2': '0x5a', 'D3': '0x1f', 'D5': '0x28'}

>>> main('636369858')
{'D1': '0x2', 'D2': '0x5e', 'D3': '0xe3', 'D5': '0x25'}

Вариант №18

Задача №8

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

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

Целое.

0 2 3 4 5 8 9 11 12 20 21 23 Z1 Z2 Z3 Z5 Z6

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

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

0 1 2 4 5 7 8 11 12 20 21 23 Z2 Z1 Z3 Z5 Z6

Тесты:

>>> main(16415351)
'16413470'

>>> main(13819999)
'13820447'

>>> main(9383416)
'9383683'

>>> main(3280858)
'3280395'

Вариант №19

Задача №8

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

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

Десятичная строка.
0 7 8 13 14 17 18 24 G1 G2 G3

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

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

Тесты:

>>> main('183191')
[('G1', '151'), ('G2', '11'), ('G3', '11')]

>>> main('22444')
[('G1', '172'), ('G2', '23'), ('G3', '1')]

>>> main('22538')
[('G1', '10'), ('G2', '24'), ('G3', '1')]

>>> main('31421')
[('G1', '189'), ('G2', '58'), ('G3', '1')]

Вариант №20

Задача №8

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

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

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

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

Целое.
0 6 7 13 14 19 20 D1 D2 D3

Тесты:

>>> main([('D1', '112'), ('D2', '52'), ('D3', '16')])
268912

>>> main([('D1', '32'), ('D2', '43'), ('D3', '28')])
464288

>>> main([('D1', '26'), ('D2', '41'), ('D3', '36')])
595098

>>> main([('D1', '64'), ('D2', '47'), ('D3', '48')])
792512

Вариант №21

Задача №8

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

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

Целое.

0 4 5 6 14 15 18 19 24 X1 X2 X3 X4 X5

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

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

0 4 5 10 11 19 20 23 24 X1 X5 X3 X4 X2

Тесты:

>>> main(20247990)
'0x19eb4d6'

>>> main(33391419)
'0x1b067fb'

>>> main(9575515)
'0x438a5b'

>>> main(2926198)
'0x194c8b6'

Вариант №22

Задача №8

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

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

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

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

Целое.
0 5 6 10 11 14 15 17 V1 V3 V4

Тесты:

>>> main({'V1': '62', 'V3': '11', 'V4': '4'})
153662

>>> main({'V1': '28', 'V3': '2', 'V4': '0'})
4124

>>> main({'V1': '56', 'V3': '9', 'V4': '7'})
247864

>>> main({'V1': '33', 'V3': '1', 'V4': '7'})
231457

Вариант №23

Задача №8

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

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

Шестнадцатиричная строка.
0 7 8 9 16 17 18 24 25 29 P1 P2 P3 P4 P6

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

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

Тесты:

>>> main('0x25f9002f')
{'P1': 47, 'P2': 0, 'P3': 128, 'P4': 0, 'P6': 18}

>>> main('0xb09ee3b')
{'P1': 59, 'P2': 0, 'P3': 247, 'P4': 0, 'P6': 5}

>>> main('0xfde773b')
{'P1': 59, 'P2': 1, 'P3': 59, 'P4': 1, 'P6': 7}

>>> main('0xe661afd')
{'P1': 253, 'P2': 0, 'P3': 13, 'P4': 1, 'P6': 7}

Вариант №24

Задача №8

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

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

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

0 1 2 7 8 12 13 21 M1 M2 M3 M4

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

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

0 4 5 10 11 19 20 21 M3 M2 M4 M1

Тесты:

>>> main('0x2e8bc2')
'2860555'

>>> main('0x2d14d5')
'1787572'

>>> main('0x35aaaa')
'2977098'

>>> main('0x2b0d42')
'2802189'

Вариант №25

Задача №8

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

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

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

0 5 6 9 10 17 M2 M3 18 25 26 35 M4 M5

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

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

0 5 6 13 14 17 M3 M4 18 21 22 31 32 35 M4 M5 M2

Тесты:

>>> main('63996922923')
'0xee6838c0'

>>> main('7085170192')
'0x81a64f1c0'

>>> main('28222728645')
'0x769234a80'

>>> main('42963698459')
'0xca00d6000'

Вариант №26

Задача №8

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

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

Десятичная строка.
0 5 6 12 13 16 A1 A2 A3 17 21 22 30 31 32 A4 A5

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

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

Тесты:

>>> main('220016389')
('0x5', '0x3c', '0x9', '0xe', '0x34')

>>> main('1204626748')
('0x3c', '0x14', '0x9', '0x6', '0x11f')

>>> main('1649349444')
('0x4', '0x4d', '0x8', '0x7', '0x189')

>>> main('2136448383')
('0x3f', '0x75', '0xc', '0xb', '0x1fd')

Вариант №27

Задача №8

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

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

Целое.

0 3 4 7 8 15 16 24 Z1 Z2 Z3 Z4

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

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

0 3 4 11 12 15 16 24 Z1 Z3 Z2 Z4

Тесты:

>>> main(4894072)
'4881112'

>>> main(17834932)
'17871412'

>>> main(11829275)
'11802635'

>>> main(22225121)
'22274561'

Вариант №28

Задача №8

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

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

Целое.
0 1 7 8 9 10 16 R1 R2 R3 R4

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

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

Тесты:

>>> main(113015)
{'R1': '1', 'R2': '59', 'R3': '1', 'R4': '110'}

>>> main(44178)
{'R1': '0', 'R2': '73', 'R3': '0', 'R4': '43'}

>>> main(3253)
{'R1': '1', 'R2': '90', 'R3': '0', 'R4': '3'}

>>> main(38707)
{'R1': '1', 'R2': '25', 'R3': '3', 'R4': '37'}

Вариант №29

Задача №8

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

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

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

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

Десятичная строка.
0 1 9 10 19 20 28 L1 L2 L3

Тесты:

>>> main([('L1', '0'), ('L2', '359'), ('L3', '432')])
'443086'

>>> main([('L1', '1'), ('L2', '474'), ('L3', '102')])
'105397'

>>> main([('L1', '0'), ('L2', '308'), ('L3', '601')])
'616040'

>>> main([('L1', '0'), ('L2', '408'), ('L3', '225')])
'231216'

Вариант №30

Задача №8

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

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

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

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

Целое.
0 4 5 10 11 16 17 25 S1 S2 S3

Тесты:

>>> main(('5', '31', '44'))
91109

>>> main(('12', '25', '34'))
70444

>>> main(('19', '27', '41'))
84851

>>> main(('14', '63', '54'))
112622

Вариант №31

Задача №8

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

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

Целое.

0 9 10 18 19 T1 T2 T3 20 21 22 25 26 30 31 38 T3 T4 T5 T6

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

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

0 3 4 12 13 19 T4 T2 T6 20 21 30 31 35 36 38 T6 T1 T5 T3

Тесты:

>>> main(307570079488)
'222802602962'

>>> main(339713325398)
'494639765473'

>>> main(21548931718)
'347099712097'

>>> main(315171718760)
'465149512470'

Вариант №32

Задача №8

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

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

Шестнадцатиричная строка.
0 1 2 7 8 16 17 18 19 C1 C2 C3 C5

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

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

Тесты:

>>> main('0xf0b9f')
{'C1': '0x3', 'C2': '0x27', 'C3': '0x10b', 'C5': '0x1'}

>>> main('0x5385a')
{'C1': '0x2', 'C2': '0x16', 'C3': '0x138', 'C5': '0x0'}

>>> main('0xcbfa0')
{'C1': '0x0', 'C2': '0x28', 'C3': '0xbf', 'C5': '0x1'}

>>> main('0xf34ae')
{'C1': '0x2', 'C2': '0x2b', 'C3': '0x134', 'C5': '0x1'}

Вариант №33

Задача №8

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

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

Целое.
0 3 4 7 8 13 14 18 19 23 24 26 L1 L2 L3 L4 L5

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

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

Тесты:

>>> main(11414020)
{'L1': 4, 'L2': 0, 'L3': 42, 'L4': 24, 'L5': 21}

>>> main(8156388)
{'L1': 4, 'L2': 14, 'L3': 52, 'L4': 17, 'L5': 15}

>>> main(7936304)
{'L1': 0, 'L2': 3, 'L3': 25, 'L4': 4, 'L5': 15}

>>> main(9669754)
{'L1': 10, 'L2': 7, 'L3': 12, 'L4': 14, 'L5': 18}

Вариант №34

Задача №8

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

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

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

0 8 9 17 18 F1 F3 19 22 23 24 33 34 36 F3 F4 F5 F6

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

Целое.

0 4 5 14 15 18 F3 F5 19 23 24 32 33 34 36 F1 F4 F6

Тесты:

>>> main('82407202442')
79624693238

>>> main('125303546871')
137287968139

>>> main('67852104905')
54911859091

>>> main('117631753481')
107525205113

Вариант №35

Задача №8

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

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

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

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

Целое.
0 1 2 8 9 13 14 15 23 G1 G2 G3 G4 G5 G6

Тесты:

>>> main([('G1', '0x0'), ('G2', '0x1'), ('G3', '0x2d'), ('G4', '0x1d'), ('G5', '0x1'), ('G6', '0xfe')])
8354486

>>> main([('G1', '0x0'), ('G2', '0x0'), ('G3', '0x0'), ('G4', '0x5'), ('G5', '0x1'), ('G6', '0xea')])
7686656

>>> main([('G1', '0x0'), ('G2', '0x0'), ('G3', '0x26'), ('G4', '0xd'), ('G5', '0x0'), ('G6', '0xb1')])
5806744

>>> main([('G1', '0x1'), ('G2', '0x1'), ('G3', '0x22'), ('G4', '0x1f'), ('G5', '0x0'), ('G6', '0xbb')])
6143627

Вариант №36

Задача №8

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

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

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

0 9 10 12 13 21 22 29 C1 C2 C3 C4

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

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

0 8 9 18 19 26 27 29 C3 C1 C4 C2

Тесты:

>>> main('770668781')
'901372795'

>>> main('835133190')
'1044253752'

>>> main('935286173')
'787692538'

>>> main('823997713')
'773989097'

Вариант №37

Задача №8

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

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

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

0 4 5 11 12 19 W2 W3 20 21 22 29 30 35 36 39 W3 W4 W5 W6

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

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

0 6 7 12 13 19 W2 W5 W4 20 21 25 26 29 30 39 W4 W6 W3

Тесты:

>>> main('0x8108f72e11')
'947577447024'

>>> main('0x36722f62bc')
'814099270805'

>>> main('0x6b692af8e0')
'738064635591'

>>> main('0xe2e67ce4f5')
'1046765315495'

Вариант №38

Задача №8

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

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

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

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

Целое.
0 3 4 7 8 12 13 17 S1 S3 S4

Тесты:

>>> main({'S1': 14, 'S3': 18, 'S4': 24})
201230

>>> main({'S1': 8, 'S3': 14, 'S4': 13})
110088

>>> main({'S1': 4, 'S3': 5, 'S4': 1})
9476

>>> main({'S1': 6, 'S3': 16, 'S4': 1})
12294

Вариант №39

Задача №8

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

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

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

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

Десятичная строка.
0 9 10 14 15 18 19 20 21 24 25 26 X1 X2 X3 X4 X5 X6

Тесты:

>>> main([('X1', 681), ('X2', 2), ('X3', 11), ('X4', 1), ('X5', 3), ('X6', 3)])
'107842217'

>>> main([('X1', 486), ('X2', 1), ('X3', 15), ('X4', 1), ('X5', 2), ('X6', 3)])
'105874918'

>>> main([('X1', 290), ('X2', 19), ('X3', 7), ('X4', 1), ('X5', 8), ('X6', 2)])
'84659490'

>>> main([('X1', 925), ('X2', 26), ('X3', 15), ('X4', 0), ('X5', 8), ('X6', 0)])
'17296285'

Вариант №40

Задача №8

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

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

Целое.

0 2 3 5 6 15 16 20 X1 X2 X3 X4 21 25 26 31 32 40 X4 X6

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

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

0 9 10 15 16 18 19 20 X3 X1 X2 21 22 30 31 40 X2 X6 X4

Тесты:

>>> main(710428655176)
'464549053433'

>>> main(1341863318266)
'707834544459'

>>> main(10806569426)
'66581561511'

>>> main(1156992865027)
'1182244470860'