ИВБО-20-23

Вариант №1

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main({'H1': '0x17c', 'H2': '0x68', 'H4': '0xb'})
5820796

>>> main({'H1': '0x1c3', 'H2': '0x5f', 'H4': '0x9'})
4767683

>>> main({'H1': '0x15e', 'H2': '0x2e', 'H4': '0xb'})
5791070

>>> main({'H1': '0xb9', 'H2': '0x1d', 'H4': '0x4'})
2112185

Вариант №2

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main([('Q1', 35), ('Q2', 0), ('Q4', 14), ('Q5', 50), ('Q6', 24)])
3326541859

>>> main([('Q1', 116), ('Q2', 1), ('Q4', 6), ('Q5', 48), ('Q6', 63)])
8556577012

>>> main([('Q1', 106), ('Q2', 0), ('Q4', 60), ('Q5', 54), ('Q6', 33)])
4544397418

>>> main([('Q1', 107), ('Q2', 1), ('Q4', 53), ('Q5', 58), ('Q6', 6)])
928678123

Вариант №3

Задача №8

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

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

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

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

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

Тесты:

>>> main('0xc11e18b31')
('49', '3', '49', '143', '0', '12')

>>> main('0xf66753529')
('41', '5', '678', '307', '1', '15')

>>> main('0x21b5a78ea')
('234', '0', '847', '218', '0', '2')

>>> main('0x76213033f')
('63', '3', '608', '272', '1', '7')

Вариант №4

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main({'B1': 0, 'B2': 5, 'B3': 15, 'B5': 4, 'B6': 61})
128976808

>>> main({'B1': 7, 'B2': 8, 'B3': 9, 'B5': 6, 'B6': 7})
16254151

>>> main({'B1': 3, 'B2': 2, 'B3': 4, 'B5': 7, 'B6': 1})
3932691

>>> main({'B1': 1, 'B2': 15, 'B3': 0, 'B5': 1, 'B6': 132})
277086329

Вариант №5

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main({'Y1': '0xa1', 'Y2': '0x334', 'Y3': '0x96', 'Y4': '0xb1'})
11917800609

>>> main({'Y1': '0x7c', 'Y2': '0x38a', 'Y3': '0x99', 'Y4': '0x106'})
17622862460

>>> main({'Y1': '0x9b', 'Y2': '0x23d', 'Y3': '0xdb', 'Y4': '0x145'})
21867937179

>>> main({'Y1': '0xcc', 'Y2': '0x20d', 'Y3': '0x98', 'Y4': '0xe0'})
15072366028

Вариант №6

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x3119')
('0x1', '0x3', '0x8', '0x18')

>>> main('0xb00')
('0x0', '0x0', '0x8', '0x5')

>>> main('0x9e1')
('0x1', '0x0', '0xf', '0x4')

>>> main('0x1da6')
('0x6', '0x0', '0xd', '0xe')

Вариант №7

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(312933)
[('W1', 5), ('W2', 3), ('W3', 35), ('W4', 1), ('W5', 2)]

>>> main(811863)
[('W1', 23), ('W2', 10), ('W3', 49), ('W4', 0), ('W5', 6)]

>>> main(47837)
[('W1', 29), ('W2', 6), ('W3', 29), ('W4', 1), ('W5', 0)]

>>> main(363058)
[('W1', 18), ('W2', 1), ('W3', 5), ('W4', 3), ('W5', 2)]

Вариант №8

Задача №8

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

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

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

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

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

Тесты:

>>> main({'E1': '5', 'E2': '2', 'E3': '11', 'E4': '29', 'E5': '1', 'E6': '62'})
'0x1f2eae05'

>>> main({'E1': '124', 'E2': '3', 'E3': '0', 'E4': '11', 'E5': '0', 'E6': '182'})
'0x5b05837c'

>>> main({'E1': '185', 'E2': '0', 'E3': '14', 'E4': '36', 'E5': '3', 'E6': '190'})
'0x5f7238b9'

>>> main({'E1': '125', 'E2': '1', 'E3': '27', 'E4': '37', 'E5': '3', 'E6': '157'})
'0x4ef2ed7d'

Вариант №9

Задача №8

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

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

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

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

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

Тесты:

>>> main('5523134628')
('36', '98', '2', '589', '20')

>>> main('15118087372')
('12', '83', '29', '326', '56')

>>> main('25049347161')
('25', '81', '21', '323', '93')

>>> main('12385852461')
('45', '112', '8', '144', '46')

Вариант №10

Задача №8

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

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

Целое.

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

Целое.

Тесты:

>>> main(110109907)
109348051

>>> main(72506351)
72053999

>>> main(12033737)
15977929

>>> main(228681519)
229435439

Вариант №11

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x5c3b75f8')
('0x18', '0x36e', '0x2e1')

>>> main('0x11eb85a8')
('0x8', '0x170', '0x8f')

>>> main('0x70068b00')
('0x0', '0xd1', '0x380')

>>> main('0x18050d01')
('0x1', '0xa1', '0xc0')

Вариант №12

Задача №8

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

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

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

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

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

Тесты:

>>> main((155, 2, 583, 1))
'3292315'

>>> main((85, 3, 510, 1))
'3143253'

>>> main((284, 1, 586, 0))
'1200924'

>>> main((248, 3, 534, 0))
'1095416'

Вариант №13

Задача №8

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

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

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

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

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

Тесты:

>>> main((191, 7, 12))
'794364'

>>> main((19, 36, 38))
'2527308'

>>> main((220, 40, 0))
'41840'

>>> main((69, 4, 58))
'3805460'

Вариант №14

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main([('N1', '0'), ('N3', '0'), ('N4', '53')])
434176

>>> main([('N1', '0'), ('N3', '1'), ('N4', '65')])
534528

>>> main([('N1', '0'), ('N3', '3'), ('N4', '116')])
956416

>>> main([('N1', '0'), ('N3', '2'), ('N4', '76')])
626688

Вариант №15

Задача №8

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

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

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

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

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

Тесты:

>>> main(('0x7f', '0x3', '0x1', '0x24'))
'0x1277f'

>>> main(('0xdc', '0x2', '0x0', '0x39'))
'0x1cadc'

>>> main(('0x37', '0x0', '0x0', '0x29'))
'0x14837'

>>> main(('0xf3', '0x2', '0x1', '0x31'))
'0x18ef3'

Вариант №16

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(180518783)
[('B1', '0x37f'), ('B2', '0xf'), ('B3', '0x9'), ('B5', '0x1')]

>>> main(187959999)
[('B1', '0x2bf'), ('B2', '0x2'), ('B3', '0x50'), ('B5', '0x1')]

>>> main(200976407)
[('B1', '0x17'), ('B2', '0xa'), ('B3', '0x6a'), ('B5', '0x1')]

>>> main(40710504)
[('B1', '0x168'), ('B2', '0xc'), ('B3', '0x34'), ('B5', '0x0')]

Вариант №17

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main({'T1': '0x2', 'T2': '0x15', 'T3': '0xeb', 'T4': '0x47', 'T5': '0x1d8', 'T6': '0x19'})
218712501162

>>> main({'T1': '0x1', 'T2': '0x1c', 'T3': '0x19', 'T4': '0x66', 'T5': '0x319', 'T6': '0xe'})
126917941729

>>> main({'T1': '0x3', 'T2': '0x10', 'T3': '0x5', 'T4': '0x2e', 'T5': '0x322', 'T6': '0xc'})
109809894787

>>> main({'T1': '0x6', 'T2': '0x9', 'T3': '0xd6', 'T4': '0x21', 'T5': '0x361', 'T6': '0x11'})
153287251534

Вариант №18

Задача №8

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

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

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

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

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

Тесты:

>>> main(('0x0', '0x1b', '0x2'))
'310'

>>> main(('0x0', '0x11', '0x2'))
'290'

>>> main(('0x1', '0x1a', '0x2'))
'309'

>>> main(('0x1', '0xa', '0x2'))
'277'

Вариант №19

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('0x7e54509c')
340947449

>>> main('0x657e4959')
3192219029

>>> main('0xfd99ffc5')
3657373686

>>> main('0x3d9f56c8')
1599807734

Вариант №20

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main([('K1', '0x0'), ('K2', '0x41'), ('K3', '0x4'), ('K4', '0x7')])
1839234

>>> main([('K1', '0x1'), ('K2', '0x1fb'), ('K3', '0x39'), ('K4', '0x0')])
59383

>>> main([('K1', '0x1'), ('K2', '0x2b'), ('K3', '0xfc'), ('K4', '0x3')])
1044567

>>> main([('K1', '0x0'), ('K2', '0x159'), ('K3', '0xf'), ('K4', '0x7')])
1851058

Вариант №21

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(201760)
'100896'

>>> main(149733)
'74981'

>>> main(254126)
'127150'

>>> main(205408)
'233568'

Вариант №22

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(380331909)
'0x1699f5d0'

>>> main(374600774)
'0x167d09e8'

>>> main(48984570)
'0x2dc75af'

>>> main(92506141)
'0x5a201d3'

Вариант №23

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x21762fade')
[('L1', '0xde'), ('L2', '0x3d'), ('L3', '0x2c5'), ('L4', '0x3'), ('L5', '0x42')]

>>> main('0x8404d81b')
[('L1', '0x1b'), ('L2', '0x2c'), ('L3', '0x9'), ('L4', '0x2'), ('L5', '0x10')]

>>> main('0x28b488004')
[('L1', '0x4'), ('L2', '0x0'), ('L3', '0x291'), ('L4', '0x1'), ('L5', '0x51')]

>>> main('0x17e479107')
[('L1', '0x107'), ('L2', '0x8'), ('L3', '0x8f'), ('L4', '0x3'), ('L5', '0x2f')]

Вариант №24

Задача №8

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

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

Целое.

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

Целое.

Тесты:

>>> main(1578019283211)
3102091963136

>>> main(2759335678308)
1006509761536

>>> main(1337362877518)
3036815781376

>>> main(1623572447287)
34562619136

Вариант №25

Задача №8

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

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

Целое.

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

Целое.

Тесты:

>>> main(2309048)
1173364

>>> main(2293596)
1144811

>>> main(327929)
2285596

>>> main(567600)
279846

Вариант №26

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(16047394)
{'O1': 2, 'O2': 82, 'O3': 155, 'O4': 30, 'O5': 0}

>>> main(89991664)
{'O1': 0, 'O2': 31, 'O3': 165, 'O4': 43, 'O5': 1}

>>> main(42916171)
{'O1': 11, 'O2': 20, 'O3': 219, 'O4': 81, 'O5': 0}

>>> main(36249849)
{'O1': 9, 'O2': 15, 'O3': 36, 'O4': 69, 'O5': 0}

Вариант №27

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(1284779083)
'740706891'

>>> main(6024969271)
'7460851255'

>>> main(3235157976)
'2539678424'

>>> main(142505722)
'1979990010'

Вариант №28

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main({'X1': 3, 'X2': 6, 'X3': 255, 'X4': 3})
32763

>>> main({'X1': 0, 'X2': 6, 'X3': 62, 'X4': 2})
18392

>>> main({'X1': 3, 'X2': 5, 'X3': 93, 'X4': 2})
19383

>>> main({'X1': 2, 'X2': 1, 'X3': 217, 'X4': 1})
15142

Вариант №29

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main([('O1', 31), ('O2', 3), ('O3', 943), ('O4', 160)])
84369023

>>> main([('O1', 5), ('O2', 13), ('O3', 617), ('O4', 117)])
61658021

>>> main([('O1', 10), ('O2', 10), ('O3', 687), ('O4', 67)])
35479370

>>> main([('O1', 8), ('O2', 12), ('O3', 17), ('O4', 160)])
83895176

Вариант №30

Задача №8

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

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

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

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

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

Тесты:

>>> main(('0x0', '0x0', '0x2a6'))
'2777088'

>>> main(('0x0', '0x1', '0x154'))
'1394688'

>>> main(('0x1', '0x1', '0x1b0'))
'1772544'

>>> main(('0x0', '0x1', '0x242'))
'2369536'

Вариант №31

Задача №8

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

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

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

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

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

Тесты:

>>> main('1765410')
{'Q1': 34, 'Q2': 0, 'Q3': 431}

>>> main('1195981')
{'Q1': 973, 'Q2': 3, 'Q3': 291}

>>> main('105736')
{'Q1': 264, 'Q2': 3, 'Q3': 25}

>>> main('12214')
{'Q1': 950, 'Q2': 3, 'Q3': 2}

Вариант №32

Задача №8

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

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

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

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

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

Тесты:

>>> main('57045')
'0x1e357'

>>> main('233244')
'0xfe70'

>>> main('188473')
'0x20be4'

>>> main('172930')
'0x23a0a'

Вариант №33

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x3d3bbfe')
('0', '15', '31', '14', '334', '7')

>>> main('0x3512202')
('0', '1', '16', '8', '324', '6')

>>> main('0x653864')
('0', '2', '3', '14', '404', '0')

>>> main('0x648c01e')
('0', '15', '0', '0', '291', '12')

Вариант №34

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main({'W1': '0x6', 'W2': '0x0', 'W4': '0xf'})
491526

>>> main({'W1': '0x4', 'W2': '0x6', 'W4': '0x4'})
131124

>>> main({'W1': '0x4', 'W2': '0x1', 'W4': '0x1f'})
1015820

>>> main({'W1': '0x6', 'W2': '0x4', 'W4': '0xe'})
458790

Вариант №35

Задача №8

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

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

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

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

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

Тесты:

>>> main('281456')
'151772'

>>> main('301694')
'315551'

>>> main('176532')
'362597'

>>> main('851879')
'521705'

Вариант №36

Задача №8

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

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

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

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

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

Тесты:

>>> main(('126', '1', '10', '33'))
'1092222'

>>> main(('216', '0', '11', '45'))
'1486040'

>>> main(('19', '0', '25', '49'))
'1631251'

>>> main(('55', '1', '11', '56'))
'1846839'

Вариант №37

Задача №8

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

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

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

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

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

Тесты:

>>> main([('M1', '0x17'), ('M2', '0x3'), ('M3', '0x4b'), ('M4', '0x7a')])
'8033911'

>>> main([('M1', '0x2'), ('M2', '0x0'), ('M3', '0x39'), ('M4', '0x14c')])
'21787138'

>>> main([('M1', '0xa'), ('M2', '0x5'), ('M3', '0x73'), ('M4', '0x12c')])
'19719850'

>>> main([('M1', '0xc'), ('M2', '0xd'), ('M3', '0x66'), ('M4', '0x40')])
'4246956'

Вариант №38

Задача №8

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

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

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

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

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

Тесты:

>>> main('12129408')
{'A1': '0x0', 'A2': '0x2', 'A3': '0x0', 'A4': '0x8a', 'A5': '0x2e'}

>>> main('59209636')
{'A1': '0x24', 'A2': '0x2', 'A3': '0x1', 'A4': '0x1bb', 'A5': '0xe1'}

>>> main('51809806')
{'A1': '0xe', 'A2': '0x0', 'A3': '0x0', 'A4': '0x147', 'A5': '0xc5'}

>>> main('19810928')
{'A1': '0x30', 'A2': '0x1', 'A3': '0x0', 'A4': '0x125', 'A5': '0x4b'}

Вариант №39

Задача №8

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

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

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

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

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

Тесты:

>>> main({'U1': 3, 'U2': 1, 'U3': 0, 'U4': 111, 'U5': 5, 'U6': 14})
'0x395bc7'

>>> main({'U1': 0, 'U2': 0, 'U3': 2, 'U4': 165, 'U5': 0, 'U6': 26})
'0x682950'

>>> main({'U1': 1, 'U2': 0, 'U3': 3, 'U4': 63, 'U5': 13, 'U6': 8})
'0x234fd9'

>>> main({'U1': 2, 'U2': 1, 'U3': 0, 'U4': 15, 'U5': 6, 'U6': 13})
'0x3583c6'

Вариант №40

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(79737447)
{'T1': '0x3', 'T2': '0x1', 'T3': '0x193', 'T4': '0x2', 'T5': '0x4c'}

>>> main(829379928)
{'T1': '0x0', 'T2': '0x6', 'T3': '0xaa', 'T4': '0x3d', 'T5': '0x316'}

>>> main(667196275)
{'T1': '0x3', 'T2': '0x4', 'T3': '0xdb', 'T4': '0x12', 'T5': '0x27c'}

>>> main(147103215)
{'T1': '0x3', 'T2': '0x3', 'T3': '0xef', 'T4': '0x12', 'T5': '0x8c'}