ИКБО-50-23

Вариант №1

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x1ef0fc0d1')
'8077609952'

>>> main('0x35296d01a')
'11820652264'

>>> main('0x337916bb7')
'9156017717'

>>> main('0x1ef798187')
'13446691776'

Вариант №2

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('160794460')
237606279

>>> main('54081050')
218315062

>>> main('135679018')
84940365

>>> main('82244335')
133490418

Вариант №3

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(1558954507)
'1210530544'

>>> main(969952997)
'194933779'

>>> main(974378911)
'243172597'

>>> main(2123642238)
'1174381837'

Вариант №4

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x1c367051')
'405335169'

>>> main('0x19ca64a4')
'307369089'

>>> main('0xf24480')
'37774464'

>>> main('0x5846efa')
'394070144'

Вариант №5

Задача №8

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

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

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

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

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

Тесты:

>>> main('0xc194d025f4e')
{'D1': '0x6', 'D2': '0x3e9', 'D3': '0x12', 'D4': '0x9a', 'D6': '0x30'}

>>> main('0x3526995bdca')
{'D1': '0x2', 'D2': '0x3b9', 'D3': '0xad', 'D4': '0xd3', 'D6': '0xd'}

>>> main('0xeae36086b30')
{'D1': '0x0', 'D2': '0x166', 'D3': '0x43', 'D4': '0x6c', 'D6': '0x3a'}

>>> main('0x8c857a1239c')
{'D1': '0x4', 'D2': '0x73', 'D3': '0x109', 'D4': '0xaf', 'D6': '0x23'}

Вариант №6

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main([('S1', 0), ('S2', 1), ('S3', 7), ('S4', 5)])
754

>>> main([('S1', 0), ('S2', 0), ('S3', 1), ('S4', 6)])
784

>>> main([('S1', 1), ('S2', 3), ('S3', 3), ('S4', 6)])
823

>>> main([('S1', 1), ('S2', 0), ('S3', 4), ('S4', 5)])
705

Вариант №7

Задача №8

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

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

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

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

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

Тесты:

>>> main([('Q1', 2), ('Q2', 70), ('Q3', 223), ('Q5', 476)])
'0xee01bf1a'

>>> main([('Q1', 0), ('Q2', 109), ('Q3', 229), ('Q5', 726)])
'0x16b01cbb4'

>>> main([('Q1', 2), ('Q2', 34), ('Q3', 43), ('Q5', 22)])
'0xb00568a'

>>> main([('Q1', 1), ('Q2', 83), ('Q3', 235), ('Q5', 447)])
'0xdf81d74d'

Вариант №8

Задача №8

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

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

Целое.

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

Целое.

Тесты:

>>> main(233206995)
406038196

>>> main(501928827)
404135646

>>> main(520579956)
3891165

>>> main(306784066)
269039952

Вариант №9

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(16998523583)
{'F1': '0xf', 'F2': '0x2b', 'F3': '0xe', 'F4': '0x53', 'F5': '0x3f'}

>>> main(128608662224)
{'F1': '0x0', 'F2': '0x2d', 'F3': '0xc7', 'F4': '0x1a', 'F5': '0x1df'}

>>> main(4536715223)
{'F1': '0x7', 'F2': '0x7d', 'F3': '0x8c', 'F4': '0xe6', 'F5': '0x10'}

>>> main(24311285474)
{'F1': '0x2', 'F2': '0x6e', 'F3': '0xc', 'F4': '0x91', 'F5': '0x5a'}

Вариант №10

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(67049)
{'O2': '1', 'O3': '130', 'O4': '0'}

>>> main(4167162)
{'O2': '1', 'O3': '202', 'O4': '31'}

>>> main(2794556)
{'O2': '0', 'O3': '82', 'O4': '21'}

>>> main(2231305)
{'O2': '0', 'O3': '6', 'O4': '17'}

Вариант №11

Задача №8

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

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

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

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

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

Тесты:

>>> main('0xde2752139')
('57', '2', '9', '157', '30', '3')

>>> main('0x238db0c08c')
('12', '1', '6', '876', '56', '8')

>>> main('0x143ff3b7')
('55', '39', '31', '271', '1', '0')

>>> main('0x22c447f1bf')
('63', '35', '31', '273', '44', '8')

Вариант №12

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(193150)
[('K1', '14'), ('K2', '39'), ('K3', '15'), ('K4', '2')]

>>> main(7561)
[('K1', '9'), ('K2', '216'), ('K3', '1'), ('K4', '0')]

>>> main(150766)
[('K1', '14'), ('K2', '206'), ('K3', '4'), ('K4', '2')]

>>> main(342876)
[('K1', '12'), ('K2', '181'), ('K3', '3'), ('K4', '5')]

Вариант №13

Задача №8

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

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

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

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

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

Тесты:

>>> main({'L1': '0', 'L2': '1', 'L3': '8', 'L4': '197'})
'100996'

>>> main({'L1': '1', 'L2': '1', 'L3': '26', 'L4': '121'})
'62373'

>>> main({'L1': '2', 'L2': '1', 'L3': '3', 'L4': '74'})
'37942'

>>> main({'L1': '3', 'L2': '2', 'L3': '3', 'L4': '233'})
'119355'

Вариант №14

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x2c0')
'1408'

>>> main('0x5845')
'45208'

>>> main('0x633')
'3184'

>>> main('0xfd34')
'64076'

Вариант №15

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x47c9e9')
{'X1': '489', 'X3': '9', 'X4': '15', 'X5': '4'}

>>> main('0x378fd6')
{'X1': '470', 'X3': '1', 'X4': '15', 'X5': '3'}

>>> main('0x5cf74c')
{'X1': '332', 'X3': '14', 'X4': '25', 'X5': '5'}

>>> main('0x34ef08')
{'X1': '264', 'X3': '13', 'X4': '9', 'X5': '3'}

Вариант №16

Задача №8

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

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

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

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

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

Тесты:

>>> main(('2', '7', '0'))
'57856'

>>> main(('31', '91', '0'))
'753408'

>>> main(('27', '78', '7'))
'15325952'

>>> main(('30', '208', '6'))
'14294528'

Вариант №17

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main({'W1': 286, 'W2': 31, 'W3': 32, 'W5': 149})
319976128286

>>> main({'W1': 232, 'W2': 13, 'W3': 52, 'W5': 3})
6444161768

>>> main({'W1': 409, 'W2': 43, 'W3': 7, 'W5': 267})
573378385817

>>> main({'W1': 123, 'W2': 21, 'W3': 23, 'W5': 443})
951336020603

Вариант №18

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(6738)
'0x1c94'

>>> main(7673)
'0x1b7e'

>>> main(7795)
'0x1cfc'

>>> main(5147)
'0x10e6'

Вариант №19

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(980084836)
'0x3a63a19a'

>>> main(749710156)
'0x2ca6ad8f'

>>> main(339171595)
'0x14356467'

>>> main(24823960)
'0x17f220a'

Вариант №20

Задача №8

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

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

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

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

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

Тесты:

>>> main('24068753')
('17', '20', '20', '2')

>>> main('26420671')
('31', '45', '18', '3')

>>> main('1463669')
('21', '43', '5', '0')

>>> main('29283944')
('8', '51', '13', '3')

Вариант №21

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(11118430)
('94', '167', '9', '0', '5')

>>> main(16250175)
('63', '245', '7', '1', '7')

>>> main(13819143)
('7', '221', '2', '1', '6')

>>> main(16596603)
('123', '62', '13', '1', '7')

Вариант №22

Задача №8

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

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

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

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

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

Тесты:

>>> main('3305')
{'Z1': '1', 'Z2': '2', 'Z3': '7', 'Z4': '12'}

>>> main('3088')
{'Z1': '0', 'Z2': '4', 'Z3': '0', 'Z4': '12'}

>>> main('3998')
{'Z1': '2', 'Z2': '7', 'Z3': '4', 'Z4': '15'}

>>> main('1976')
{'Z1': '0', 'Z2': '6', 'Z3': '5', 'Z4': '7'}

Вариант №23

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x583a')
('26', '1', '88')

>>> main('0xe594')
('20', '4', '229')

>>> main('0xe76')
('22', '3', '14')

>>> main('0x8b47')
('7', '2', '139')

Вариант №24

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x1d78eb1')
{'J1': '17', 'J2': '117', 'J3': '0', 'J4': '943'}

>>> main('0x1e5d4c9')
{'J1': '9', 'J2': '166', 'J3': '1', 'J4': '971'}

>>> main('0x1c3f8d6')
{'J1': '22', 'J2': '454', 'J3': '1', 'J4': '903'}

>>> main('0x19d1542')
{'J1': '2', 'J2': '170', 'J3': '0', 'J4': '826'}

Вариант №25

Задача №8

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

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

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

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

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

Тесты:

>>> main([('Y1', '0x0'), ('Y2', '0x4'), ('Y3', '0x2'), ('Y4', '0x3'), ('Y5', '0xdc')])
'226088'

>>> main([('Y1', '0x1'), ('Y2', '0x2'), ('Y3', '0xb'), ('Y4', '0x2'), ('Y5', '0x16')])
'23221'

>>> main([('Y1', '0x0'), ('Y2', '0x3'), ('Y3', '0xb'), ('Y4', '0x0'), ('Y5', '0x6e')])
'112822'

>>> main([('Y1', '0x1'), ('Y2', '0x6'), ('Y3', '0x9'), ('Y4', '0x3'), ('Y5', '0x22')])
'35741'

Вариант №26

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(1793510387)
('0x1f3', '0x165', '0xb9', '0x2', '0x6')

>>> main(1367451939)
('0x123', '0xd4', '0x60', '0x0', '0x5')

>>> main(112085025)
('0x21', '0x124', '0xab', '0x1', '0x0')

>>> main(801740105)
('0x149', '0xca', '0xf2', '0x3', '0x2')

Вариант №27

Задача №8

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

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

Целое.

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

Целое.

Тесты:

>>> main(29857488487)
27770114931

>>> main(13653563583)
24544873861

>>> main(15206893453)
5392723420

>>> main(18103335587)
29764398613

Вариант №28

Задача №8

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

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

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

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

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

Тесты:

>>> main([('U1', '0x29'), ('U2', '0x9'), ('U3', '0x1'), ('U4', '0xd9'), ('U5', '0xc0')])
'1612393641'

>>> main([('U1', '0x20'), ('U2', '0x3'), ('U3', '0x0'), ('U4', '0x2f5'), ('U5', '0x65')])
'853451168'

>>> main([('U1', '0x70'), ('U2', '0xa'), ('U3', '0x0'), ('U4', '0x398'), ('U5', '0x7a')])
'1030948208'

>>> main([('U1', '0x5b'), ('U2', '0x7'), ('U3', '0x1'), ('U4', '0x25a'), ('U5', '0x46')])
'592137179'

Вариант №29

Задача №8

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

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

Целое.

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

Целое.

Тесты:

>>> main(2225786)
1049119

>>> main(3795885)
2098078

>>> main(848367)
3145935

>>> main(1328521)
2097476

Вариант №30

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(82212717073)
'0x990004609'

>>> main(75108933842)
'0x8b0034987'

>>> main(35757636677)
'0x14200114f4'

>>> main(75851221697)
'0x8d003072a'

Вариант №31

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x5d6836')
'0x20cb57'

>>> main('0x52cd39')
'0x14f674'

>>> main('0x3c9c14')
'0x44ef'

>>> main('0x636bea')
'0x2fbb58'

Вариант №32

Задача №8

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

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

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

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

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

Тесты:

>>> main('79196891163')
[('Z1', '3'), ('Z2', '6'), ('Z4', '128'), ('Z5', '112'), ('Z6', '36')]

>>> main('2067191719087')
[('Z1', '3'), ('Z2', '43'), ('Z4', '58'), ('Z5', '78'), ('Z6', '962')]

>>> main('1589604791984')
[('Z1', '0'), ('Z2', '172'), ('Z4', '212'), ('Z5', '27'), ('Z6', '740')]

>>> main('52090186235')
[('Z1', '3'), ('Z2', '126'), ('Z4', '209'), ('Z5', '32'), ('Z6', '24')]

Вариант №33

Задача №8

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

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

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

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

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

Тесты:

>>> main([('M1', 4), ('M3', 745), ('M4', 253), ('M5', 0)])
'8314148'

>>> main([('M1', 7), ('M3', 806), ('M4', 49), ('M5', 3)])
'26797255'

>>> main([('M1', 4), ('M3', 535), ('M4', 216), ('M5', 3)])
'32260836'

>>> main([('M1', 7), ('M3', 1023), ('M4', 54), ('M5', 0)])
'1802215'

Вариант №34

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main([('R1', '0x37'), ('R2', '0xd'), ('R3', '0x9'), ('R4', '0x12')])
75577911

>>> main([('R1', '0xaf'), ('R2', '0xd'), ('R3', '0x58'), ('R4', '0x1d')])
122362543

>>> main([('R1', '0x161'), ('R2', '0x3'), ('R3', '0x4'), ('R4', '0xe')])
58754913

>>> main([('R1', '0x14'), ('R2', '0x3'), ('R3', '0xda'), ('R4', '0x8')])
35341844

Вариант №35

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(423347151)
('975', '240', '39', '3')

>>> main(464779727)
('463', '254', '118', '3')

>>> main(504325566)
('446', '473', '193', '3')

>>> main(510360704)
('128', '223', '205', '3')

Вариант №36

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(2857688)
[('O1', 8), ('O3', 3), ('O4', 87)]

>>> main(3499786)
[('O1', 10), ('O3', 12), ('O4', 106)]

>>> main(2942559)
[('O1', 15), ('O3', 12), ('O4', 89)]

>>> main(1131681)
[('O1', 1), ('O3', 8), ('O4', 34)]

Вариант №37

Задача №8

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

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

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

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

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

Тесты:

>>> main('204406304')
[('K1', '0x0'), ('K2', '0x44'), ('K3', '0x1f'), ('K4', '0x5d'), ('K5', '0x6')]

>>> main('903551323')
[('K1', '0x3'), ('K2', '0x2b'), ('K3', '0x6'), ('K4', '0x3b6'), ('K5', '0x1a')]

>>> main('1047100366')
[('K1', '0x6'), ('K2', '0x79'), ('K3', '0x1e'), ('K4', '0xd2'), ('K5', '0x1f')]

>>> main('462199328')
[('K1', '0x0'), ('K2', '0x44'), ('K3', '0x6'), ('K4', '0x319'), ('K5', '0xd')]

Вариант №38

Задача №8

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

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

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

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

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

Тесты:

>>> main({'K1': 506, 'K2': 5, 'K4': 50, 'K5': 7, 'K6': 1})
'0x3f20bfa'

>>> main({'K1': 159, 'K2': 7, 'K4': 25, 'K5': 6, 'K6': 1})
'0x3990e9f'

>>> main({'K1': 159, 'K2': 0, 'K4': 36, 'K5': 5, 'K6': 7})
'0xf64009f'

>>> main({'K1': 125, 'K2': 28, 'K4': 3, 'K5': 3, 'K6': 0})
'0xc3387d'

Вариант №39

Задача №8

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

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

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

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

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

Тесты:

>>> main(('0x9', '0x28d', '0x76', '0x11d', '0x12', '0x44'))
'0x2204a3bda8d9'

>>> main(('0x1', '0x247', '0x39', '0x15f', '0xca', '0x10b'))
'0x85b2abee6471'

>>> main(('0x1', '0x21e', '0x5', '0x165', '0xad', '0x323'))
'0x191ab6ca161e1'

>>> main(('0xc', '0xc4', '0xc', '0x119', '0xf9', '0x2de'))
'0x16f3e63230c4c'

Вариант №40

Задача №8

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

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

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

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

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

Тесты:

>>> main([('F1', '0x0'), ('F2', '0x1ab'), ('F3', '0x165'), ('F4', '0xb'), ('F5', '0x1c')])
'0xe16b2b56'

>>> main([('F1', '0x0'), ('F2', '0x91'), ('F3', '0x3aa'), ('F4', '0x6'), ('F5', '0xca')])
'0x650dd5122'

>>> main([('F1', '0x0'), ('F2', '0x5a'), ('F3', '0x227'), ('F4', '0xd'), ('F5', '0x76')])
'0x3b1b138b4'

>>> main([('F1', '0x1'), ('F2', '0x235'), ('F3', '0x199'), ('F4', '0x2f'), ('F5', '0x1d')])
'0xedeccc6b'