ИНБО-30-23

Вариант №1

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(2256553)
'2238941'

>>> main(1057482)
'1067589'

>>> main(2602345)
'2615658'

>>> main(2626258)
'2642469'

Вариант №2

Задача №8

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

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

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

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

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

Тесты:

>>> main([('T1', 39), ('T2', 14), ('T3', 7), ('T4', 314)])
'2580391'

>>> main([('T1', 46), ('T2', 7), ('T3', 3), ('T4', 446)])
'3657198'

>>> main([('T1', 11), ('T2', 0), ('T3', 5), ('T4', 477)])
'3912715'

>>> main([('T1', 35), ('T2', 0), ('T3', 1), ('T4', 419)])
'3433507'

Вариант №3

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main(('9', '4', '914', '32'))
68981257

>>> main(('17', '15', '973', '22'))
48131985

>>> main(('127', '4', '561', '25'))
53578367

>>> main(('127', '15', '780', '4'))
9988095

Вариант №4

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x5f438637')
[('U1', '0x3'), ('U2', '0xd'), ('U3', '0x6'), ('U4', '0x70'), ('U5', '0x2fa')]

>>> main('0x869b36c')
[('U1', '0x0'), ('U2', '0x1b'), ('U3', '0x3'), ('U4', '0x136'), ('U5', '0x43')]

>>> main('0x65b03d17')
[('U1', '0x3'), ('U2', '0x5'), ('U3', '0x5'), ('U4', '0x207'), ('U5', '0x32d')]

>>> main('0x4a58991b')
[('U1', '0x3'), ('U2', '0x6'), ('U3', '0x1'), ('U4', '0x313'), ('U5', '0x252')]

Вариант №5

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x3e9560057')
'0x2b3f4057'

>>> main('0x2daa8a944')
'0x5456e944'

>>> main('0x14e295bfe')
'0x14ca5bfe'

>>> main('0x195e5e30e')
'0x72aca30e'

Вариант №6

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(5184)
{'Q1': 0, 'Q2': 162, 'Q3': 0}

>>> main(5873)
{'Q1': 17, 'Q2': 183, 'Q3': 0}

>>> main(9279)
{'Q1': 31, 'Q2': 33, 'Q3': 1}

>>> main(10253)
{'Q1': 13, 'Q2': 64, 'Q3': 1}

Вариант №7

Задача №8

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

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

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

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

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

Тесты:

>>> main('1143160359')
(39, 31, 0, 35, 272)

>>> main('658707182')
(238, 9, 0, 3, 157)

>>> main('3299093137')
(145, 21, 0, 36, 786)

>>> main('301722718')
(94, 22, 3, 59, 71)

Вариант №8

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(75735318)
{'C1': '22', 'C2': '8', 'C3': '0', 'C4': '1', 'C5': '14', 'C6': '72'}

>>> main(519076649)
{'C1': '9', 'C2': '25', 'C3': '3', 'C4': '1', 'C5': '1', 'C6': '495'}

>>> main(718708478)
{'C1': '30', 'C2': '55', 'C3': '3', 'C4': '0', 'C5': '26', 'C6': '685'}

>>> main(738243764)
{'C1': '20', 'C2': '37', 'C3': '2', 'C4': '1', 'C5': '2', 'C6': '704'}

Вариант №9

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(13038725322027)
[('K1', 299), ('K2', 213), ('K3', 37), ('K5', 91), ('K6', 23)]

>>> main(10013419662744)
[('K1', 408), ('K2', 155), ('K3', 916), ('K5', 27), ('K6', 18)]

>>> main(9809698700329)
[('K1', 41), ('K2', 207), ('K3', 998), ('K5', 107), ('K6', 17)]

>>> main(12935485772428)
[('K1', 652), ('K2', 52), ('K3', 450), ('K5', 67), ('K6', 23)]

Вариант №10

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('0x14eff8')
1509247

>>> main('0x37fdb6')
3596269

>>> main('0x8e0f0a')
9261176

>>> main('0x207bf9')
2302943

Вариант №11

Задача №8

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

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

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

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

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

Тесты:

>>> main(('108', '3', '13', '26'))
'0xd1bec'

>>> main(('103', '2', '5', '61'))
'0x1e8b67'

>>> main(('9', '2', '55', '34'))
'0x116f09'

>>> main(('113', '3', '57', '57'))
'0x1cf3f1'

Вариант №12

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x4f6a6')
{'E1': '0x6', 'E2': '0x2', 'E3': '0x3da', 'E4': '0x4'}

>>> main('0x68b00')
{'E1': '0x0', 'E2': '0x0', 'E3': '0x22c', 'E4': '0x6'}

>>> main('0x69abe')
{'E1': '0xe', 'E2': '0x3', 'E3': '0x26a', 'E4': '0x6'}

>>> main('0x369d6')
{'E1': '0x6', 'E2': '0x1', 'E3': '0x1a7', 'E4': '0x3'}

Вариант №13

Задача №8

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

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

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

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

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

Тесты:

>>> main('2017111868')
[('A1', '0x3c'), ('A2', '0xaf'), ('A4', '0x3'), ('A5', '0x78')]

>>> main('1930392019')
[('A1', '0xd3'), ('A2', '0x171'), ('A4', '0x0'), ('A5', '0x73')]

>>> main('893667781')
[('A1', '0xc5'), ('A2', '0x49'), ('A4', '0x4'), ('A5', '0x35')]

>>> main('942279034')
[('A1', '0x7a'), ('A2', '0x9'), ('A4', '0x2'), ('A5', '0x38')]

Вариант №14

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main([('R1', '0'), ('R2', '59'), ('R4', '70')])
573912

>>> main([('R1', '1'), ('R2', '0'), ('R4', '437')])
3579905

>>> main([('R1', '3'), ('R2', '3'), ('R4', '876')])
7176219

>>> main([('R1', '5'), ('R2', '61'), ('R4', '723')])
5923309

Вариант №15

Задача №8

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

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

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

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

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

Тесты:

>>> main([('Q1', 59), ('Q2', 3), ('Q3', 486), ('Q4', 135)])
'570212603'

>>> main([('Q1', 22), ('Q2', 64), ('Q3', 348), ('Q4', 352)])
'1479249942'

>>> main([('Q1', 24), ('Q2', 13), ('Q3', 307), ('Q4', 402)])
'1688626008'

>>> main([('Q1', 48), ('Q2', 16), ('Q3', 412), ('Q4', 418)])
'1756595248'

Вариант №16

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main((238, 94, 1, 49, 319))
21459263214

>>> main((131, 40, 6, 28, 227))
15263869059

>>> main((180, 474, 1, 23, 299))
20089920180

>>> main((100, 250, 4, 51, 53))
3610835556

Вариант №17

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main({'I1': 0, 'I2': 29, 'I3': 12, 'I4': 15, 'I5': 5})
98106

>>> main({'I1': 1, 'I2': 1, 'I3': 2, 'I4': 2, 'I5': 1})
18563

>>> main({'I1': 0, 'I2': 4, 'I3': 12, 'I4': 14, 'I5': 5})
97032

>>> main({'I1': 1, 'I2': 21, 'I3': 14, 'I4': 12, 'I5': 1})
29611

Вариант №18

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main(('7', '0', '11', '1'))
44039

>>> main(('1', '1', '7', '0'))
7177

>>> main(('7', '1', '11', '0'))
11279

>>> main(('2', '1', '14', '0'))
14346

Вариант №19

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(36552)
'17934'

>>> main(57899)
'61442'

>>> main(36275)
'50205'

>>> main(35918)
'16908'

Вариант №20

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main([('S2', 82), ('S3', 1), ('S4', 203), ('S5', 18), ('S6', 0)])
1261389824

>>> main([('S2', 121), ('S3', 0), ('S4', 244), ('S5', 2), ('S6', 2)])
4493272064

>>> main([('S2', 58), ('S3', 0), ('S4', 97), ('S5', 19), ('S6', 0)])
1300555776

>>> main([('S2', 30), ('S3', 0), ('S4', 143), ('S5', 1), ('S6', 3)])
6547077120

Вариант №21

Задача №8

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

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

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

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

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

Тесты:

>>> main('898800735')
'798673491'

>>> main('3569496042')
'4117392453'

>>> main('106746716')
'2919442330'

>>> main('1129483044')
'2451678801'

Вариант №22

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(177251595480)
(88, 105, 2, 162, 10)

>>> main(47066973613)
(45, 11, 4, 378, 2)

>>> main(271973585704)
(40, 38, 14, 425, 15)

>>> main(190050055924)
(116, 109, 6, 31, 11)

Вариант №23

Задача №8

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

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

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

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

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

Тесты:

>>> main('3411407')
'0x1f4241b'

>>> main('16681687')
'0x1fee915'

>>> main('16493554')
'0xbafb57'

>>> main('26011481')
'0x4dadce'

Вариант №24

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main(('0xd', '0x156', '0x1', '0x4'))
1267213

>>> main(('0x2e', '0xf8', '0x0', '0x7'))
1898542

>>> main(('0x52', '0x49', '0x0', '0x0'))
18770

>>> main(('0x9c', '0x56', '0x0', '0x4'))
1070748

Вариант №25

Задача №8

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

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

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

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

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

Тесты:

>>> main('0xef4d')
[('O1', '0xd'), ('O2', '0xd'), ('O3', '0x3'), ('O4', '0x7')]

>>> main('0x4afb')
[('O1', '0x3b'), ('O2', '0xb'), ('O3', '0x2'), ('O4', '0x2')]

>>> main('0x5ba5')
[('O1', '0x25'), ('O2', '0xe'), ('O3', '0x6'), ('O4', '0x2')]

>>> main('0x8a4f')
[('O1', '0xf'), ('O2', '0x9'), ('O3', '0x2'), ('O4', '0x4')]

Вариант №26

Задача №8

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

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

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

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

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

Тесты:

>>> main({'F1': 22, 'F2': 172, 'F4': 900, 'F5': 0, 'F6': 3})
'0x61c202b16'

>>> main({'F1': 47, 'F2': 95, 'F4': 466, 'F5': 4, 'F6': 2})
'0x48e9017ef'

>>> main({'F1': 54, 'F2': 83, 'F4': 654, 'F5': 6, 'F6': 3})
'0x6d47014f6'

>>> main({'F1': 10, 'F2': 53, 'F4': 166, 'F5': 4, 'F6': 3})
'0x685300d4a'

Вариант №27

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x510c4f6b2')
{'T1': '0x12', 'T3': '0x7', 'T4': '0x62', 'T5': '0x88', 'T6': '0x2'}

>>> main('0xf667d4b83b')
{'T1': '0x1b', 'T3': '0x5', 'T4': '0xea', 'T5': '0x33', 'T6': '0x7b'}

>>> main('0xdf73639d0f')
{'T1': '0xf', 'T3': '0xc', 'T4': '0xb1', 'T5': '0xb9', 'T6': '0x6f'}

>>> main('0xcc51120698')
{'T1': '0x18', 'T3': '0x0', 'T4': '0x89', 'T5': '0x28', 'T6': '0x66'}

Вариант №28

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(250845388)
{'N1': '0x4c', 'N3': '0x79', 'N4': '0xe'}

>>> main(328342553)
{'N1': '0x19', 'N3': '0x49', 'N4': '0x13'}

>>> main(113187316)
{'N1': '0x74', 'N3': '0x5f', 'N4': '0x6'}

>>> main(108592979)
{'N1': '0x53', 'N3': '0x3c', 'N4': '0x6'}

Вариант №29

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x2f0c2de')
{'V1': 222, 'V2': 194, 'V3': 0, 'V4': 94, 'V5': 0}

>>> main('0x990ee6d')
{'V1': 109, 'V2': 238, 'V3': 0, 'V4': 50, 'V5': 1}

>>> main('0x5e71916')
{'V1': 22, 'V2': 25, 'V3': 7, 'V4': 188, 'V5': 0}

>>> main('0xb232b42')
{'V1': 66, 'V2': 43, 'V3': 3, 'V4': 100, 'V5': 1}

Вариант №30

Задача №8

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

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

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

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

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

Тесты:

>>> main([('J1', '7'), ('J2', '304'), ('J3', '30'), ('J4', '25'), ('J5', '291')])
'0x123cbd307'

>>> main([('J1', '3'), ('J2', '398'), ('J3', '11'), ('J4', '2'), ('J5', '1017')])
'0x3f91178e3'

>>> main([('J1', '14'), ('J2', '484'), ('J3', '22'), ('J4', '22'), ('J5', '767')])
'0x2ffb2de4e'

>>> main([('J1', '13'), ('J2', '221'), ('J3', '6'), ('J4', '0'), ('J5', '196')])
'0xc400cddd'

Вариант №31

Задача №8

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

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

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

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

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

Тесты:

>>> main('15396020')
{'J1': '20', 'J3': '0', 'J4': '23', 'J5': '29'}

>>> main('2359239')
{'J1': '7', 'J3': '1', 'J4': '31', 'J5': '4'}

>>> main('4091840')
{'J1': '0', 'J3': '0', 'J4': '51', 'J5': '7'}

>>> main('10514544')
{'J1': '16', 'J3': '1', 'J4': '3', 'J5': '20'}

Вариант №32

Задача №8

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

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

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

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

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

Тесты:

>>> main([('S1', '0x53'), ('S2', '0xa2'), ('S3', '0xe4'), ('S4', '0x17c'), ('S5', '0x0'), ('S6', '0x4d')])
'0x26af8725153'

>>> main([('S1', '0x47'), ('S2', '0x19'), ('S3', '0x1eb'), ('S4', '0x1a3'), ('S5', '0x1'), ('S6', '0x45')])
'0x22f46f58cc7'

>>> main([('S1', '0xc'), ('S2', '0xd9'), ('S3', '0x276'), ('S4', '0x10a'), ('S5', '0x0'), ('S6', '0x49')])
'0x24a153b6c8c'

>>> main([('S1', '0x8'), ('S2', '0xfd'), ('S3', '0x249'), ('S4', '0x3e'), ('S5', '0x0'), ('S6', '0x73')])
'0x3987d24fe88'

Вариант №33

Задача №8

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

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

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

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

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

Тесты:

>>> main([('P2', 1), ('P3', 1), ('P4', 1), ('P5', 3)])
'53632'

>>> main([('P2', 1), ('P3', 10), ('P4', 2), ('P5', 7)])
'125568'

>>> main([('P2', 1), ('P3', 10), ('P4', 3), ('P5', 4)])
'80512'

>>> main([('P2', 0), ('P3', 11), ('P4', 2), ('P5', 10)])
'174848'

Вариант №34

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('506820')
386028

>>> main('109077')
329837

>>> main('112712')
271976

>>> main('357004')
83804

Вариант №35

Задача №8

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

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

Целое.

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

Целое.

Тесты:

>>> main(24578259)
16786852

>>> main(9742882)
8393798

>>> main(4143721)
15570

>>> main(5745297)
13602

Вариант №36

Задача №8

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

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

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

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

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

Тесты:

>>> main('104025')
'16409'

>>> main('539692')
'196611'

>>> main('519664')
'786462'

>>> main('911813')
'737310'

Вариант №37

Задача №8

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

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

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

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

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

Тесты:

>>> main({'E1': '0x1', 'E2': '0x4', 'E3': '0x7a', 'E4': '0xba', 'E5': '0x8', 'E6': '0xf5'})
'0xf58ba1ea1'

>>> main({'E1': '0x6', 'E2': '0x5', 'E3': '0x13a', 'E4': '0x38', 'E5': '0x3', 'E6': '0x63'})
'0x633384eae'

>>> main({'E1': '0x2', 'E2': '0x3', 'E3': '0x259', 'E4': '0x9c', 'E5': '0x5', 'E6': '0x57'})
'0x5759c965a'

>>> main({'E1': '0x3', 'E2': '0x4', 'E3': '0x1da', 'E4': '0x95', 'E5': '0x2', 'E6': '0x23'})
'0x2329576a3'

Вариант №38

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(402074)
'0x620da'

>>> main(112455)
'0x1b63d'

>>> main(372023)
'0x5afb4'

>>> main(341659)
'0x536da'

Вариант №39

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(5553161338)
[('E1', '0x1a'), ('E2', '0x23'), ('E3', '0x3d0'), ('E4', '0x17'), ('E5', '0x1'), ('E6', '0x5')]

>>> main(2550839427)
[('E1', '0x3'), ('E2', '0x4'), ('E3', '0x157'), ('E4', '0x0'), ('E5', '0x3'), ('E6', '0x2')]

>>> main(15946280505)
[('E1', '0x19'), ('E2', '0x31'), ('E3', '0x31d'), ('E4', '0x33'), ('E5', '0x6'), ('E6', '0xe')]

>>> main(12118943438)
[('E1', '0xe'), ('E2', '0x36'), ('E3', '0x30c'), ('E4', '0x12'), ('E5', '0x2'), ('E6', '0xb')]

Вариант №40

Задача №8

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

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

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

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

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

Тесты:

>>> main('58637090')
(2, 200, 7, 13, 13)

>>> main('46726397')
(1, 319, 15, 1, 11)

>>> main('56206102')
(2, 197, 4, 3, 13)

>>> main('36766404')
(0, 177, 0, 2, 8)