ИВБО-11-23

Вариант №1

Задача №8

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

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

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

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

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

Тесты:

>>> main([('R1', '5'), ('R2', '46'), ('R3', '78'), ('R4', '20'), ('R6', '0')])
'0x144e5c5'

>>> main([('R1', '17'), ('R2', '15'), ('R3', '219'), ('R4', '2'), ('R6', '0')])
'0x2db1f1'

>>> main([('R1', '26'), ('R2', '107'), ('R3', '109'), ('R4', '0'), ('R6', '0')])
'0x6dd7a'

>>> main([('R1', '8'), ('R2', '66'), ('R3', '215'), ('R4', '10'), ('R6', '0')])
'0xad7848'

Вариант №2

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('70872957')
81747126

>>> main('45836165')
48324019

>>> main('91966951')
91880870

>>> main('225288188')
234829518

Вариант №3

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x63ffb')
'0x618bfd'

>>> main('0x350753')
'0xd43a9'

>>> main('0x78cb95')
'0x3e31ca'

>>> main('0xe74cd')
'0x439a66'

Вариант №4

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(1615938764)
'0x2b064ca'

>>> main(1104096182)
'0xe65abb9'

>>> main(498347159)
'0x6d8eaca1'

>>> main(1561497824)
'0x68a910d4'

Вариант №5

Задача №8

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

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

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

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

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

Тесты:

>>> main([('N2', '0x0'), ('N3', '0xa3'), ('N4', '0x2')])
'75968'

>>> main([('N2', '0x0'), ('N3', '0x64'), ('N4', '0x2')])
'71936'

>>> main([('N2', '0x1'), ('N3', '0x1ab'), ('N4', '0x0')])
'27360'

>>> main([('N2', '0x0'), ('N3', '0x34'), ('N4', '0x0')])
'3328'

Вариант №6

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(56304374)
{'Q1': '6', 'Q2': '47', 'Q3': '1', 'Q4': '347', 'Q5': '1'}

>>> main(49519288)
{'Q1': '8', 'Q2': '427', 'Q3': '4', 'Q4': '243', 'Q5': '1'}

>>> main(61993758)
{'Q1': '14', 'Q2': '305', 'Q3': '7', 'Q4': '433', 'Q5': '1'}

>>> main(36998667)
{'Q1': '11', 'Q2': '224', 'Q3': '4', 'Q4': '52', 'Q5': '1'}

Вариант №7

Задача №8

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

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

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

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

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

Тесты:

>>> main('10936')
'0x16b8'

>>> main('2069')
'0x95'

>>> main('13778')
'0x3b52'

>>> main('5841')
'0x1d51'

Вариант №8

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main(('7', '14', '248'))
16253159

>>> main(('15', '7', '36'))
2359423

>>> main(('1', '2', '461'))
30212129

>>> main(('1', '2', '65'))
4259873

Вариант №9

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(62480442)
(0, 29, 352, 28, 14)

>>> main(9651954)
(0, 121, 326, 9, 2)

>>> main(141210573)
(1, 102, 179, 21, 33)

>>> main(266987672)
(0, 76, 488, 20, 63)

Вариант №10

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(649856)
(0, 4, 1, 122, 4)

>>> main(936175)
(15, 7, 0, 18, 7)

>>> main(391391)
(31, 6, 0, 126, 2)

>>> main(618340)
(4, 11, 1, 91, 4)

Вариант №11

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main({'X2': '0x9', 'X3': '0x2', 'X4': '0xd'})
111744

>>> main({'X2': '0x3', 'X3': '0x1', 'X4': '0xf'})
125312

>>> main({'X2': '0x2', 'X3': '0x2', 'X4': '0x8'})
69888

>>> main({'X2': '0xe', 'X3': '0x0', 'X4': '0x14'})
165632

Вариант №12

Задача №8

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

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

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

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

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

Тесты:

>>> main({'X1': '55', 'X2': '60', 'X3': '91', 'X4': '2', 'X5': '3'})
'106352439'

>>> main({'X1': '39', 'X2': '248', 'X3': '85', 'X4': '8', 'X5': '0'})
'18185767'

>>> main({'X1': '13', 'X2': '111', 'X3': '118', 'X4': '15', 'X5': '3'})
'134061005'

>>> main({'X1': '10', 'X2': '145', 'X3': '109', 'X4': '14', 'X5': '3'})
'131818570'

Вариант №13

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x52b0a4298a')
[('D1', 10), ('D2', 12), ('D3', 532), ('D4', 532), ('D5', 661), ('D6', 0)]

>>> main('0x22323fe2fb1')
[('D1', 17), ('D2', 13), ('D3', 791), ('D4', 127), ('D5', 281), ('D6', 4)]

>>> main('0x233dd4b3015')
[('D1', 21), ('D2', 0), ('D3', 408), ('D4', 937), ('D5', 414), ('D6', 4)]

>>> main('0x1c67a9f49aa')
[('D1', 10), ('D2', 13), ('D3', 932), ('D4', 851), ('D5', 563), ('D6', 3)]

Вариант №14

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(7591842780)
[('T1', '0x0'), ('T2', '0x1ee'), ('T3', '0x14'), ('T4', '0x1'), ('T5', '0x389')]

>>> main(4001798856)
[('T1', '0x0'), ('T2', '0x164'), ('T3', '0x26'), ('T4', '0x3'), ('T5', '0x1dd')]

>>> main(3491777895)
[('T1', '0x1'), ('T2', '0xb3'), ('T3', '0x13'), ('T4', '0x10'), ('T5', '0x1a0')]

>>> main(1494542639)
[('T1', '0x1'), ('T2', '0x97'), ('T3', '0x3a'), ('T4', '0xa'), ('T5', '0xb2')]

Вариант №15

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x10919')
'0xc909'

>>> main('0xd42f9')
'0xfcd42'

>>> main('0x7651e')
'0xf765'

>>> main('0x9aab1')
'0xd89aa'

Вариант №16

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main([('E1', '126'), ('E2', '12'), ('E3', '119'), ('E4', '955'), ('E5', '1018'), ('E6', '1')])
2193582440062

>>> main([('E1', '34'), ('E2', '4'), ('E3', '79'), ('E4', '872'), ('E5', '657'), ('E6', '1')])
1805874526754

>>> main([('E1', '75'), ('E2', '15'), ('E3', '386'), ('E4', '982'), ('E5', '0'), ('E6', '0')])
1030494155

>>> main([('E1', '8'), ('E2', '10'), ('E3', '13'), ('E4', '769'), ('E5', '163'), ('E6', '0')])
175826300168

Вариант №17

Задача №8

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

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

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

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

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

Тесты:

>>> main([('J1', '37'), ('J2', '0'), ('J3', '67')])
'8613'

>>> main([('J1', '33'), ('J2', '1'), ('J3', '12')])
'1633'

>>> main([('J1', '56'), ('J2', '1'), ('J3', '15')])
'2040'

>>> main([('J1', '27'), ('J2', '0'), ('J3', '70')])
'8987'

Вариант №18

Задача №8

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

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

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

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

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

Тесты:

>>> main({'A1': 65, 'A2': 98, 'A3': 30, 'A5': 2, 'A6': 43})
'0xac800f6241'

>>> main({'A1': 35, 'A2': 119, 'A3': 93, 'A5': 5, 'A6': 44})
'0xb1402ef723'

>>> main({'A1': 189, 'A2': 113, 'A3': 16, 'A5': 14, 'A6': 51})
'0xcf800871bd'

>>> main({'A1': 224, 'A2': 82, 'A3': 94, 'A5': 14, 'A6': 57})
'0xe7802f52e0'

Вариант №19

Задача №8

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

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

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

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

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

Тесты:

>>> main(('832', '1', '1002'))
'0x1f5740'

>>> main(('461', '0', '590'))
'0x1271cd'

>>> main(('132', '1', '885'))
'0x1bac84'

>>> main(('41', '1', '398'))
'0xc7429'

Вариант №20

Задача №8

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

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

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

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

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

Тесты:

>>> main('157920520')
{'R1': 264, 'R2': 6, 'R4': 845, 'R5': 18}

>>> main('485932353')
{'R1': 321, 'R2': 6, 'R4': 949, 'R5': 57}

>>> main('236760218')
{'R1': 154, 'R2': 6, 'R4': 229, 'R5': 28}

>>> main('493911863')
{'R1': 311, 'R2': 7, 'R4': 899, 'R5': 58}

Вариант №21

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('0x2045b0ae080')
555879520002

>>> main('0x1992372ed10')
1187783087820

>>> main('0x174bc5e609a')
665468990138

>>> main('0x1280766daae')
2921061889684

Вариант №22

Задача №8

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

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

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

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

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

Тесты:

>>> main({'X1': 187, 'X2': 14, 'X3': 441})
'3616443'

>>> main({'X1': 224, 'X2': 4, 'X3': 292})
'2393312'

>>> main({'X1': 37, 'X2': 7, 'X3': 31})
'255781'

>>> main({'X1': 26, 'X2': 3, 'X3': 413})
'3384090'

Вариант №23

Задача №8

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

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

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

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

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

Тесты:

>>> main('18673187')
'3349691'

>>> main('594052')
'4720960'

>>> main('31002860')
'13621568'

>>> main('6149127')
'7364050'

Вариант №24

Задача №8

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

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

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

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

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

Тесты:

>>> main((1, 20, 169, 44))
'0x2c0054a9'

>>> main((0, 54, 110, 55))
'0x3700376c'

>>> main((1, 53, 231, 31))
'0x1f0073eb'

>>> main((0, 57, 75, 60))
'0x3c0025f2'

Вариант №25

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(19468083844)
{'R1': '0x4', 'R2': '0xc5', 'R3': '0xc6', 'R4': '0x8', 'R5': '0x9'}

>>> main(14060191691)
{'R1': '0x4b', 'R2': '0xff', 'R3': '0x1a', 'R4': '0x46', 'R5': '0x6'}

>>> main(32532303695)
{'R1': '0x4f', 'R2': '0x1e', 'R3': '0x27', 'R4': '0x13', 'R5': '0xf'}

>>> main(18088757207)
{'R1': '0x57', 'R2': '0xf', 'R3': '0x59', 'R4': '0x36', 'R5': '0x8'}

Вариант №26

Задача №8

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

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

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

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

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

Тесты:

>>> main('67309253161')
{'E1': '41', 'E2': '100', 'E3': '995', 'E4': '85', 'E5': '3', 'E6': '3'}

>>> main('78230033011')
{'E1': '115', 'E2': '36', 'E3': '447', 'E4': '27', 'E5': '2', 'E6': '4'}

>>> main('68114729836')
{'E1': '108', 'E2': '150', 'E3': '1000', 'E4': '109', 'E5': '3', 'E6': '3'}

>>> main('20196708223')
{'E1': '127', 'E2': '158', 'E3': '930', 'E4': '89', 'E5': '0', 'E6': '1'}

Вариант №27

Задача №8

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

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

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

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

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

Тесты:

>>> main('0xcb8c3172')
'3334924'

>>> main('0x1180eb96c')
'4588462'

>>> main('0x19e95c15d')
'6792560'

>>> main('0x3ec63f211')
'16455932'

Вариант №28

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(56121125)
'11900644'

>>> main(56182441)
'45450453'

>>> main(4411122)
'42215902'

>>> main(64576279)
'45981538'

Вариант №29

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main({'G1': 9, 'G3': 133, 'G4': 69})
289951753

>>> main({'G1': 15, 'G3': 990, 'G4': 50})
213770255

>>> main({'G1': 2, 'G3': 379, 'G4': 4})
18329602

>>> main({'G1': 0, 'G3': 536, 'G4': 235})
987856896

Вариант №30

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(23802167)
[('L1', 311), ('L2', 0), ('L3', 102), ('L5', 22)]

>>> main(27458775)
[('L1', 215), ('L2', 1), ('L3', 95), ('L5', 26)]

>>> main(1271108)
[('L1', 324), ('L2', 1), ('L3', 108), ('L5', 1)]

>>> main(7863305)
[('L1', 9), ('L2', 1), ('L3', 255), ('L5', 7)]

Вариант №31

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x7fa')
[('S1', '2'), ('S2', '7'), ('S3', '15'), ('S4', '1')]

>>> main('0x68de')
[('S1', '6'), ('S2', '3'), ('S3', '3'), ('S4', '26')]

>>> main('0x209e')
[('S1', '6'), ('S2', '3'), ('S3', '2'), ('S4', '8')]

>>> main('0x75c7')
[('S1', '7'), ('S2', '0'), ('S3', '7'), ('S4', '29')]

Вариант №32

Задача №8

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

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

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

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

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

Тесты:

>>> main('64094159050')
[('P1', 202), ('P2', 832), ('P4', 17), ('P5', 477)]

>>> main('76411958584')
[('P1', 56), ('P2', 501), ('P4', 10), ('P5', 569)]

>>> main('88373369108')
[('P1', 20), ('P2', 665), ('P4', 13), ('P5', 658)]

>>> main('11343782931')
[('P1', 19), ('P2', 100), ('P4', 16), ('P5', 84)]

Вариант №33

Задача №8

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

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

Целое.

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

Целое.

Тесты:

>>> main(57193065)
872624745

>>> main(1022310348)
935114700

>>> main(453381796)
52104868

>>> main(596645073)
136549585

Вариант №34

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x2e753cf4f')
[('H1', '0xf'), ('H2', '0xa'), ('H3', '0x7'), ('H4', '0x9e'), ('H5', '0x3a'), ('H6', '0x5c')]

>>> main('0x159b27c4c')
[('H1', '0xc'), ('H2', '0x2'), ('H3', '0xe'), ('H4', '0x93'), ('H5', '0xd'), ('H6', '0x2b')]

>>> main('0x1b0c79622')
[('H1', '0x2'), ('H2', '0x1'), ('H3', '0xb'), ('H4', '0x3c'), ('H5', '0x6'), ('H6', '0x36')]

>>> main('0x1571fed3d')
[('H1', '0x1d'), ('H2', '0x9'), ('H3', '0x6'), ('H4', '0xff'), ('H5', '0x38'), ('H6', '0x2a')]

Вариант №35

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(8122179558)
('0x26', '0x27f', '0x1e', '0x9', '0x1', '0x3')

>>> main(7658313119)
('0x1f', '0x256', '0x78', '0x2', '0x1', '0x3')

>>> main(6161536797)
('0x1d', '0x25c', '0x341', '0xb', '0x1', '0x2')

>>> main(2021535755)
('0xb', '0xc0', '0x7e', '0xe', '0x1', '0x0')

Вариант №36

Задача №8

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

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

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

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

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

Тесты:

>>> main({'E1': '233', 'E3': '4', 'E4': '87', 'E5': '15', 'E6': '99'})
'214705438953'

>>> main({'E1': '105', 'E3': '59', 'E4': '96', 'E5': '7', 'E6': '201'})
'432685367401'

>>> main({'E1': '169', 'E3': '17', 'E4': '124', 'E5': '15', 'E6': '203'})
'438082748585'

>>> main({'E1': '106', 'E3': '39', 'E4': '96', 'E5': '1', 'E6': '28'})
'60365062250'

Вариант №37

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('0x5f9da2e70')
3964761023

>>> main('0x10bbf45ba7')
128765320471

>>> main('0xac7cfcfb7')
137015229848

>>> main('0xe50ea7f64')
70681623306

Вариант №38

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(1299160)
{'W1': '0x0', 'W3': '0x4b', 'W4': '0x4f'}

>>> main(342364)
{'W1': '0x0', 'W3': '0xe5', 'W4': '0x14'}

>>> main(31358)
{'W1': '0x2', 'W3': '0xe9', 'W4': '0x1'}

>>> main(839728)
{'W1': '0x0', 'W3': '0x40', 'W4': '0x33'}

Вариант №39

Задача №8

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

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

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

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

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

Тесты:

>>> main([('S1', 0), ('S2', 13), ('S3', 113), ('S4', 38), ('S5', 1), ('S6', 66)])
'2219423898'

>>> main([('S1', 0), ('S2', 32), ('S3', 13), ('S4', 121), ('S5', 6), ('S6', 36)])
'1235109568'

>>> main([('S1', 0), ('S2', 26), ('S3', 60), ('S4', 120), ('S5', 5), ('S6', 50)])
'1700666932'

>>> main([('S1', 1), ('S2', 43), ('S3', 49), ('S4', 35), ('S5', 5), ('S6', 63)])
'2135480535'

Вариант №40

Задача №8

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

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

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

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

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

Тесты:

>>> main(('0x7', '0x4d', '0xc', '0x2'))
'0x2c9a7'

>>> main(('0x2', '0x5a', '0xf', '0x2b'))
'0x2bfb42'

>>> main(('0x18', '0x16', '0x3', '0x3c'))
'0x3c32d8'

>>> main(('0x5', '0x72', '0xb', '0x6'))
'0x6be45'