ИВБО-04-22

Вариант №1

Задача №8

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

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

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

0 1 9 10 18 19 20 D1 D2 D3

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

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

0 1 2 3 11 12 20 D1 D3 D2

Тесты:

>>> main('349960')
'0x184aa8'

>>> main('384902')
'0x1c3bb8'

>>> main('90137')
'0xc2c4'

>>> main('296298')
'0xb5908'

Вариант №2

Задача №8

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

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

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

0 1 2 11 12 17 N1 N2 N3 18 19 20 27 28 34 N3 N4 N5

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

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

0 6 7 8 9 16 17 N5 N1 N4 N3 18 24 25 34 N3 N2

Тесты:

>>> main('0x29de93871')
'18138774697'

>>> main('0x60f9a67fe')
'17168200544'

>>> main('0x22c391bc0')
'25252038178'

>>> main('0x3b4c370ec')
'1986959419'

Вариант №3

Задача №8

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

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

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

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

Десятичная строка.
0 9 10 16 17 18 19 21 A1 A2 A3 A4

Тесты:

>>> main(('767', '33', '3', '4'))
'2524927'

>>> main(('184', '78', '1', '4'))
'2308280'

>>> main(('630', '65', '1', '6'))
'3343990'

>>> main(('617', '29', '2', '3'))
'1865321'

Вариант №4

Задача №8

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

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

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

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

Целое.
0 7 8 16 17 24 25 27 A1 A2 A4

Тесты:

>>> main({'A1': '0x3b', 'A2': '0x147', 'A4': '0x2'})
67192635

>>> main({'A1': '0xce', 'A2': '0x1f3', 'A4': '0x2'})
67236814

>>> main({'A1': '0xa2', 'A2': '0x1ac', 'A4': '0x5'})
167881890

>>> main({'A1': '0xc2', 'A2': '0x8e', 'A4': '0x5'})
167808706

Вариант №5

Задача №8

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

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

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

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

Десятичная строка.
0 5 6 14 15 16 U1 U2 U3 17 24 25 27 28 32 U3 U4

Тесты:

>>> main({'U1': '41', 'U2': '307', 'U3': '25', 'U4': '1'})
'34393321'

>>> main({'U1': '39', 'U2': '50', 'U3': '462', 'U4': '2'})
'82250919'

>>> main({'U1': '4', 'U2': '147', 'U3': '494', 'U4': '1'})
'49751236'

>>> main({'U1': '63', 'U2': '145', 'U3': '60', 'U4': '6'})
'203302015'

Вариант №6

Задача №8

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

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

Целое.
0 6 7 15 16 18 A1 A2 A3 19 20 21 27 28 37 A3 A4 A5

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

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

Тесты:

>>> main(63437468372)
{'A1': 84, 'A2': 485, 'A3': 10, 'A4': 41, 'A5': 236}

>>> main(16408517583)
{'A1': 79, 'A2': 55, 'A3': 6, 'A4': 16, 'A5': 61}

>>> main(40786918545)
{'A1': 17, 'A2': 505, 'A3': 22, 'A4': 120, 'A5': 151}

>>> main(209417744658)
{'A1': 18, 'A2': 98, 'A3': 5, 'A4': 18, 'A5': 780}

Вариант №7

Задача №8

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

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

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

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

Десятичная строка.
0 9 10 16 17 18 19 20 22 J1 J2 J3 J4 J5

Тесты:

>>> main({'J1': '720', 'J2': '38', 'J3': '2', 'J4': '0', 'J5': '6'})
'6593232'

>>> main({'J1': '515', 'J2': '61', 'J3': '2', 'J4': '1', 'J5': '7'})
'8189443'

>>> main({'J1': '303', 'J2': '38', 'J3': '2', 'J4': '1', 'J5': '2'})
'2922799'

>>> main({'J1': '28', 'J2': '77', 'J3': '2', 'J4': '0', 'J5': '2'})
'2438172'

Вариант №8

Задача №8

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

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

Шестнадцатиричная строка.
0 5 6 11 12 15 16 17 Y1 Y2 Y3 Y4 18 25 26 28 29 34 Y4 Y5 Y6

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

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

Тесты:

>>> main('0x54758a7d3')
{'Y1': '19', 'Y2': '31', 'Y3': '10', 'Y4': '856', 'Y5': '1', 'Y6': '42'}

>>> main('0x28be93620')
{'Y1': '32', 'Y2': '24', 'Y3': '3', 'Y4': '1001', 'Y5': '2', 'Y6': '20'}

>>> main('0x7c14e8639')
{'Y1': '57', 'Y2': '24', 'Y3': '8', 'Y4': '334', 'Y5': '0', 'Y6': '62'}

>>> main('0x2b9805eba')
{'Y1': '58', 'Y2': '58', 'Y3': '5', 'Y4': '384', 'Y5': '6', 'Y6': '21'}

Вариант №9

Задача №8

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

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

Целое.

0 1 2 5 6 14 15 16 W1 W2 W3 W4 17 20 21 27 28 33 W4 W5 W6

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

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

0 1 2 10 11 16 W1 W3 W6 17 23 24 29 30 33 W5 W4 W2

Тесты:

>>> main(12542843919)
'4189680067'

>>> main(12311587394)
'668823206'

>>> main(1305169213)
'16489653457'

>>> main(2673727360)
'1005866360'

Вариант №10

Задача №8

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

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

Десятичная строка.
0 1 8 9 11 12 17 18 25 26 30 Z1 Z2 Z3 Z4 Z5 Z6

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

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

Тесты:

>>> main('802649782')
[('Z1', '0'), ('Z2', '91'), ('Z3', '3'), ('Z4', '55'), ('Z5', '245'), ('Z6', '11')]

>>> main('1767088434')
[('Z1', '0'), ('Z2', '153'), ('Z3', '0'), ('Z4', '58'), ('Z5', '84'), ('Z6', '26')]

>>> main('566634555')
[('Z1', '1'), ('Z2', '29'), ('Z3', '4'), ('Z4', '34'), ('Z5', '113'), ('Z6', '8')]

>>> main('1710714054')
[('Z1', '0'), ('Z2', '99'), ('Z3', '6'), ('Z4', '54'), ('Z5', '125'), ('Z6', '25')]

Вариант №11

Задача №8

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

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

Шестнадцатиричная строка.
0 4 5 12 13 14 23 24 28 Q1 Q2 Q3 Q4 Q5

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

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

Тесты:

>>> main('0xe5e8928')
('0x8', '0x49', '0x0', '0x17a', '0xe')

>>> main('0x1dea4293')
('0x13', '0x14', '0x0', '0x3a9', '0x1d')

>>> main('0x15947828')
('0x8', '0xc1', '0x1', '0x251', '0x15')

>>> main('0x15bd3ea1')
('0x1', '0xf5', '0x1', '0x2f4', '0x15')

Вариант №12

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 1 2 4 5 14 15 17 T1 T2 T3 T4 18 21 22 24 25 34 T4 T5 T6

Тесты:

>>> main([('T1', '3'), ('T2', '3'), ('T3', '565'), ('T4', '24'), ('T5', '6'), ('T6', '418')])
'0x3458c46af'

>>> main([('T1', '0'), ('T2', '3'), ('T3', '243'), ('T4', '0'), ('T5', '1'), ('T6', '570')])
'0x474401e6c'

>>> main([('T1', '1'), ('T2', '4'), ('T3', '784'), ('T4', '12'), ('T5', '7'), ('T6', '389')])
'0x30bc66211'

>>> main([('T1', '1'), ('T2', '2'), ('T3', '771'), ('T4', '11'), ('T5', '3'), ('T6', '432')])
'0x360c5e069'

Вариант №13

Задача №8

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

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

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

0 3 4 13 14 18 19 27 Z1 Z3 Z4

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

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

0 3 4 8 9 18 19 27 Z1 Z3 Z4

Тесты:

>>> main('99484357')
'99090821'

>>> main('35700672')
'35651616'

>>> main('245614418')
'245367026'

>>> main('104892160')
'104857632'

Вариант №14

Задача №8

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

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

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

0 1 3 4 6 7 14 15 21 22 27 X1 X2 X3 X4 X5 X6

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

Целое.

0 7 8 10 11 17 18 23 24 26 27 X4 X2 X5 X6 X3 X1

Тесты:

>>> main('0xbdef35f')
230551526

>>> main('0x34d0244')
70570500

>>> main('0x876da23')
176646580

>>> main('0x9e3e06f')
245252032

Вариант №15

Задача №8

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

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

Десятичная строка.
0 2 3 8 9 15 16 22 23 27 F1 F2 F3 F4 F5

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

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

Тесты:

>>> main('254068542')
[('F1', '6'), ('F2', '39'), ('F3', '99'), ('F4', '36'), ('F5', '30')]

>>> main('142897191')
[('F1', '7'), ('F2', '4'), ('F3', '56'), ('F4', '4'), ('F5', '17')]

>>> main('98990025')
[('F1', '1'), ('F2', '57'), ('F3', '59'), ('F4', '102'), ('F5', '11')]

>>> main('101704904')
[('F1', '0'), ('F2', '25'), ('F3', '114'), ('F4', '15'), ('F5', '12')]

Вариант №16

Задача №8

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

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

Целое.
0 7 8 17 18 21 L1 L2 L3 22 26 27 34 35 43 L3 L5

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

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

Тесты:

>>> main(5889449919868)
(124, 517, 420, 171)

>>> main(5638489726209)
(1, 349, 11, 164)

>>> main(3687180733883)
(187, 269, 326, 107)

>>> main(3226032818088)
(168, 583, 418, 93)

Вариант №17

Задача №8

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

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

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

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

Десятичная строка.
0 1 4 5 13 14 16 C1 C2 C3 C4 17 23 24 33 C4 C5

Тесты:

>>> main(('1', '13', '457', '903', '651'))
'10936777019'

>>> main(('1', '1', '401', '69', '124'))
'2081518115'

>>> main(('0', '2', '321', '194', '406'))
'6814738468'

>>> main(('0', '2', '85', '49', '256'))
'4295772836'

Вариант №18

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 4 5 12 13 18 19 26 W1 W2 W3 W4

Тесты:

>>> main([('W1', 7), ('W2', 48), ('W3', 0), ('W4', 156)])
'0x4e00607'

>>> main([('W1', 18), ('W2', 161), ('W3', 51), ('W4', 91)])
'0x2de7432'

>>> main([('W1', 20), ('W2', 228), ('W3', 1), ('W4', 151)])
'0x4b83c94'

>>> main([('W1', 11), ('W2', 26), ('W3', 19), ('W4', 82)])
'0x292634b'

Вариант №19

Задача №8

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

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

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

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

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

Тесты:

>>> main([('V1', '19'), ('V2', '25'), ('V3', '2'), ('V4', '43'), ('V5', '0')])
357971

>>> main([('V1', '33'), ('V2', '17'), ('V3', '2'), ('V4', '88'), ('V5', '3')])
3871841

>>> main([('V1', '11'), ('V2', '3'), ('V3', '2'), ('V4', '126'), ('V5', '0')])
1036491

>>> main([('V1', '58'), ('V2', '19'), ('V3', '0'), ('V4', '88'), ('V5', '2')])
2819322

Вариант №20

Задача №8

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

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

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

0 5 6 7 11 12 14 15 16 17 T2 T3 T4 T5 T6

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

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

0 4 5 6 7 9 10 15 16 17 T3 T5 T2 T4 T6

Тесты:

>>> main('107244')
'0x10165'

>>> main('114879')
'0x10221'

>>> main('105691')
'0x100f9'

>>> main('186575')
'0x202f1'

Вариант №21

Задача №8

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

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

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

0 9 10 13 14 17 D1 D3 18 20 21 28 29 34 35 D3 D4 D5 D6

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

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

0 7 8 17 D4 D1 18 23 24 25 31 32 35 D5 D6 D3

Тесты:

>>> main('11432256503')
'0x5257f74b'

>>> main('42730230077')
'0x5d3d3d97'

>>> main('64559885400')
'0x8de05840'

>>> main('52282292923')
'0x2386bb62'

Вариант №22

Задача №8

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

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

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

0 7 8 17 P1 P2 18 23 24 30 31 32 34 P3 P4 P5 P6

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

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

0 7 8 17 P1 P2 18 19 21 22 27 28 34 P5 P6 P3 P4

Тесты:

>>> main('0x32942af21')
'0x2941aaf21'

>>> main('0x4cb3d8d9')
'0x4cb03d8d9'

>>> main('0x3b488974a')
'0x3489c974a'

>>> main('0xc1d4a177')
'0x41d44a177'

Вариант №23

Задача №8

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

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

Шестнадцатиричная строка.
0 9 10 14 15 19 X2 X3 20 21 26 27 36 37 38 X3 X4 X5 X6

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

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

Тесты:

>>> main('0x514bbf6bd8')
[('X2', '26'), ('X3', '62'), ('X4', '29'), ('X5', '553'), ('X6', '2')]

>>> main('0x475c8e3de')
[('X2', '24'), ('X3', '17'), ('X4', '46'), ('X5', '142'), ('X6', '0')]

>>> main('0x41936135e4')
[('X2', '13'), ('X3', '2'), ('X4', '27'), ('X5', '50'), ('X6', '2')]

>>> main('0x60b4598ade')
[('X2', '2'), ('X3', '51'), ('X4', '34'), ('X5', '22'), ('X6', '3')]

Вариант №24

Задача №8

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

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

Десятичная строка.
0 8 9 16 17 19 I1 I2 20 25 26 34 35 39 I4 I5

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

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

Тесты:

>>> main('970626073125')
('37', '65', '127', '28')

>>> main('737825349606')
('486', '175', '242', '21')

>>> main('648995665222')
('326', '250', '454', '18')

>>> main('750772168208')
('16', '19', '435', '21')

Вариант №25

Задача №8

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

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

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

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

Десятичная строка.
0 7 8 14 15 21 P1 P2 P3 22 24 25 32 33 42 P3 P4 P5

Тесты:

>>> main([('P1', '29'), ('P2', '47'), ('P3', '219'), ('P4', '81'), ('P5', '975')])
'8377911324445'

>>> main([('P1', '22'), ('P2', '0'), ('P3', '643'), ('P4', '112'), ('P5', '476')])
'4092588032022'

>>> main([('P1', '86'), ('P2', '56'), ('P3', '525'), ('P4', '239'), ('P5', '241')])
'2078210963542'

>>> main([('P1', '96'), ('P2', '114'), ('P3', '639'), ('P4', '53'), ('P5', '265')])
'2278132019808'

Вариант №26

Задача №8

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

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

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

0 2 3 5 6 7 9 10 17 18 19 Q1 Q2 Q3 Q4 Q6

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

Целое.

0 1 3 4 11 12 13 14 16 17 19 Q3 Q2 Q6 Q1 Q4

Тесты:

>>> main('893957')
94208

>>> main('1029476')
339977

>>> main('348913')
675853

>>> main('950469')
225281

Вариант №27

Задача №8

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

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

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

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

Десятичная строка.
0 6 7 10 11 12 19 20 25 26 30 I1 I2 I3 I5 I6

Тесты:

>>> main({'I1': 98, 'I2': 12, 'I3': 0, 'I5': 18, 'I6': 24})
'1629488738'

>>> main({'I1': 9, 'I2': 9, 'I3': 0, 'I5': 46, 'I6': 6})
'450888841'

>>> main({'I1': 106, 'I2': 12, 'I3': 0, 'I5': 10, 'I6': 26})
'1755317866'

>>> main({'I1': 106, 'I2': 14, 'I3': 0, 'I5': 36, 'I6': 6})
'440403818'

Вариант №28

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 4 5 13 14 16 B2 B3 17 20 21 29 30 33 B3 B4 B5

Тесты:

>>> main(('0x47', '0x40', '0x26', '0x0'))
'0x4d008e0'

>>> main(('0x1c5', '0x74', '0x1a8', '0x6'))
'0x1b51d38a0'

>>> main(('0x1f', '0x75', '0x1ae', '0xe'))
'0x3b5dd43e0'

>>> main(('0x6', '0x4', '0x5', '0xc'))
'0x300a100c0'

Вариант №29

Задача №8

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

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

Шестнадцатиричная строка.
0 9 10 17 V1 V2 18 27 28 34 V3 V4

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

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

Тесты:

>>> main('0x5c0841a06')
(518, 6, 33, 92)

>>> main('0x7329c74')
(116, 167, 460, 0)

>>> main('0xe000110c')
(268, 4, 0, 14)

>>> main('0x592a44f04')
(772, 19, 169, 89)

Вариант №30

Задача №8

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

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

Целое.

0 4 5 6 10 11 14 E1 E2 E3 E4

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

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

0 4 5 6 9 10 14 E1 E2 E4 E3

Тесты:

>>> main(26358)
'28470'

>>> main(30235)
'25499'

>>> main(14399)
'511'

>>> main(6294)
'2262'

Вариант №31

Задача №8

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

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

Десятичная строка.
0 8 9 14 15 16 21 22 28 J1 J3 J4 J5

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

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

Тесты:

>>> main('493381254')
('0x86', '0x0', '0x28', '0x75')

>>> main('202494572')
('0x6c', '0x1', '0x11', '0x30')

>>> main('421359525')
('0x1a5', '0x0', '0x1d', '0x64')

>>> main('199619565')
('0x1ed', '0x1', '0x25', '0x2f')

Вариант №32

Задача №8

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

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

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

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

Целое.
0 9 10 19 20 21 F2 F3 22 26 27 34 35 36 42 F3 F4 F5 F6

Тесты:

>>> main([('F2', '928'), ('F3', '66'), ('F4', '23'), ('F5', '0'), ('F6', '73')])
5019678965760

>>> main([('F2', '847'), ('F3', '6'), ('F4', '181'), ('F5', '1'), ('F6', '5')])
402257689600

>>> main([('F2', '463'), ('F3', '62'), ('F4', '225'), ('F5', '1'), ('F6', '28')])
1988769561600

>>> main([('F2', '302'), ('F3', '96'), ('F4', '14'), ('F5', '0'), ('F6', '22')])
1513808508928

Вариант №33

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 1 2 7 8 9 16 17 21 L1 L2 L3 L4 L5

Тесты:

>>> main({'L1': '0x3', 'L2': '0x33', 'L3': '0x0', 'L4': '0x61', 'L5': '0x6'})
'0xcc2cf'

>>> main({'L1': '0x1', 'L2': '0x3', 'L3': '0x1', 'L4': '0x12', 'L5': '0xa'})
'0x14250d'

>>> main({'L1': '0x1', 'L2': '0x9', 'L3': '0x0', 'L4': '0x51', 'L5': '0xa'})
'0x14a225'

>>> main({'L1': '0x2', 'L2': '0x17', 'L3': '0x0', 'L4': '0xc3', 'L5': '0x3'})
'0x7865e'

Вариант №34

Задача №8

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

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

Целое.
0 8 9 18 19 21 D1 D2 D3 22 25 26 28 29 35 36 43 D3 D4 D5 D6

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

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

Тесты:

>>> main(11741365907026)
('0x52', '0xd7', '0x7e', '0x7', '0x6d', '0xaa')

>>> main(1978581267112)
('0xa8', '0x119', '0x14', '0x3', '0x65', '0x1c')

>>> main(11058043141753)
('0x79', '0x1df', '0x57', '0x1', '0x75', '0xa0')

>>> main(5915027630138)
('0x3a', '0x374', '0x63', '0x4', '0x9', '0x56')

Вариант №35

Задача №8

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

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

Десятичная строка.
0 8 9 11 12 14 15 17 18 24 Y1 Y2 Y3 Y4 Y5

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

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

Тесты:

>>> main('33027164')
{'Y1': '0x5c', 'Y2': '0x2', 'Y3': '0x7', 'Y4': '0x7', 'Y5': '0x7d'}

>>> main('12996678')
{'Y1': '0x46', 'Y2': '0x0', 'Y3': '0x5', 'Y4': '0x4', 'Y5': '0x31'}

>>> main('18446182')
{'Y1': '0x166', 'Y2': '0x3', 'Y3': '0x7', 'Y4': '0x2', 'Y5': '0x46'}

>>> main('4111446')
{'Y1': '0x56', 'Y2': '0x6', 'Y3': '0x3', 'Y4': '0x5', 'Y5': '0xf'}

Вариант №36

Задача №8

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

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

Целое.
0 5 6 10 11 20 21 22 D1 D2 D3 D4 23 27 28 36 37 44 D4 D5

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

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

Тесты:

>>> main(46544026200)
{'D1': '24', 'D2': '9', 'D3': '943', 'D4': '49', 'D5': '173'}

>>> main(18514281567)
{'D1': '31', 'D2': '17', 'D3': '304', 'D4': '124', 'D5': '68'}

>>> main(58064558371)
{'D1': '35', 'D2': '4', 'D3': '347', 'D4': '39', 'D5': '216'}

>>> main(1889182139)
{'D1': '59', 'D2': '6', 'D3': '852', 'D4': '4', 'D5': '7'}

Вариант №37

Задача №8

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

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

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

0 1 2 11 12 13 14 17 N1 N2 N4 18 22 23 31 32 35 N4 N5 N6

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

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

0 1 2 10 11 12 13 16 17 N4 N1 N6 N5 18 25 26 35 N5 N2

Тесты:

>>> main('0xc9cfaf4ef')
'21180424108'

>>> main('0x6bf3f8b57')
'48704052216'

>>> main('0x3c4144bcb')
'50651494724'

>>> main('0x6b8b0ec95')
'54071053068'

Вариант №38

Задача №8

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

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

Шестнадцатиричная строка.
0 4 5 14 15 23 24 25 Y2 Y3 Y4

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

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

Тесты:

>>> main('0x1aae5d5')
('0x32e', '0x155', '0x1')

>>> main('0x1f10a1e')
('0x50', '0x1e2', '0x1')

>>> main('0xdacafb')
('0x257', '0x1b5', '0x0')

>>> main('0x37c1808')
('0xc0', '0xf8', '0x3')

Вариант №39

Задача №8

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

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

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

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

Десятичная строка.
0 2 3 5 6 11 12 18 19 27 Q1 Q3 Q4 Q5

Тесты:

>>> main([('Q1', '5'), ('Q3', '38'), ('Q4', '52'), ('Q5', '166')])
'87247237'

>>> main([('Q1', '5'), ('Q3', '52'), ('Q4', '70'), ('Q5', '132')])
'69496069'

>>> main([('Q1', '2'), ('Q3', '26'), ('Q4', '121'), ('Q5', '54')])
'28808834'

>>> main([('Q1', '0'), ('Q3', '10'), ('Q4', '93'), ('Q5', '168')])
'88461952'

Вариант №40

Задача №8

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

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

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

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

Десятичная строка.
0 3 4 7 8 10 11 12 13 14 W1 W3 W4 W5

Тесты:

>>> main((9, 1, 2, 1))
'12553'

>>> main((3, 6, 3, 0))
'7683'

>>> main((4, 4, 0, 3))
'25604'

>>> main((1, 4, 3, 2))
'23553'