ИНБО-32-23

Вариант №1

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(2518359652)
{'W1': '0x4', 'W3': '0x18f', 'W4': '0x2', 'W5': '0x1', 'W6': '0x96'}

>>> main(167778820)
{'W1': '0x4', 'W3': '0xd', 'W4': '0x0', 'W5': '0x0', 'W6': '0xa'}

>>> main(4163213340)
{'W1': '0x1c', 'W3': '0xcc', 'W4': '0x1', 'W5': '0x2', 'W6': '0xf8'}

>>> main(2407526411)
{'W1': '0xb', 'W3': '0x1f8', 'W4': '0x3', 'W5': '0x7', 'W6': '0x8f'}

Вариант №2

Задача №8

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

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

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

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

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

Тесты:

>>> main('1823191747')
'223831478'

>>> main('1918517506')
'146047545'

>>> main('159011135')
'4277445124'

>>> main('2552310756')
'2420266956'

Вариант №3

Задача №8

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

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

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

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

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

Тесты:

>>> main({'N2': 5, 'N3': 39, 'N4': 0})
'0x4ea'

>>> main({'N2': 6, 'N3': 43, 'N4': 0})
'0x56c'

>>> main({'N2': 11, 'N3': 59, 'N4': 1})
'0xf76'

>>> main({'N2': 15, 'N3': 55, 'N4': 2})
'0x16fe'

Вариант №4

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('0xeca9ad8')
225080882

>>> main('0xb808a67')
87185888

>>> main('0x23f31f3')
150770895

>>> main('0xb0316f3')
192699584

Вариант №5

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x3c8f1')
'51447'

>>> main('0x2ca39')
'51773'

>>> main('0xae29')
'44585'

>>> main('0x13667')
'243298'

Вариант №6

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x122a0')
{'J1': '0x0', 'J2': '0xa8', 'J3': '0x2', 'J4': '0x2'}

>>> main('0x9196')
{'J1': '0x2', 'J2': '0x65', 'J3': '0x1', 'J4': '0x1'}

>>> main('0x8176')
{'J1': '0x2', 'J2': '0x5d', 'J3': '0x0', 'J4': '0x1'}

>>> main('0x1d34f')
{'J1': '0x3', 'J2': '0xd3', 'J3': '0x5', 'J4': '0x3'}

Вариант №7

Задача №8

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

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

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

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

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

Тесты:

>>> main('118418853')
'0x34a00601c'

>>> main('14890343821')
'0x31a006dde'

>>> main('5204226055')
'0xe0004d8'

>>> main('6913124706')
'0x2c4004670'

Вариант №8

Задача №8

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

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

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

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

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

Тесты:

>>> main([('I2', '0x0'), ('I3', '0x6f'), ('I4', '0x172'), ('I5', '0x0')])
'0x5c9bc00'

>>> main([('I2', '0x1'), ('I3', '0x77'), ('I4', '0xfe'), ('I5', '0x0')])
'0x3f9de00'

>>> main([('I2', '0x0'), ('I3', '0x27'), ('I4', '0x135'), ('I5', '0x2')])
'0x14d49c00'

>>> main([('I2', '0x0'), ('I3', '0x8a'), ('I4', '0x13e'), ('I5', '0x0')])
'0x4fa2800'

Вариант №9

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(974844340)
'243711412'

>>> main(434089755)
'913828635'

>>> main(771267074)
'729687554'

>>> main(292344932)
'341521508'

Вариант №10

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(414194)
('0x32', '0x7', '0x4', '0x32')

>>> main(876888)
('0x18', '0x5', '0x0', '0x6b')

>>> main(615302)
('0x6', '0xe', '0x0', '0x4b')

>>> main(291187)
('0x33', '0x5', '0x4', '0x23')

Вариант №11

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main({'B1': '6', 'B3': '14', 'B4': '88', 'B5': '26', 'B6': '9'})
19749094

>>> main({'B1': '4', 'B3': '3', 'B4': '108', 'B5': '33', 'B6': '9'})
19983412

>>> main({'B1': '0', 'B3': '9', 'B4': '96', 'B5': '25', 'B6': '11'})
23912592

>>> main({'B1': '0', 'B3': '4', 'B4': '14', 'B5': '0', 'B6': '7'})
14683712

Вариант №12

Задача №8

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

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

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

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

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

Тесты:

>>> main('0xcdadd2')
{'T1': '0x12', 'T2': '0x6e', 'T3': '0x2d', 'T4': '0x19', 'T5': '0x0'}

>>> main('0x3adf29a')
{'T1': '0x1a', 'T2': '0x94', 'T3': '0x2f', 'T4': '0x15', 'T5': '0x3'}

>>> main('0x5a11f0')
{'T1': '0x10', 'T2': '0x8f', 'T3': '0x10', 'T4': '0xb', 'T5': '0x0'}

>>> main('0x277cecb')
{'T1': '0xb', 'T2': '0x76', 'T3': '0x3e', 'T4': '0xe', 'T5': '0x2'}

Вариант №13

Задача №8

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

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

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

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

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

Тесты:

>>> main('8880341216')
[('K2', '14'), ('K3', '317'), ('K4', '529')]

>>> main('1056474640')
[('K2', '97'), ('K3', '994'), ('K4', '62')]

>>> main('12248052260')
[('K2', '802'), ('K3', '41'), ('K4', '730')]

>>> main('6047515493')
[('K2', '54'), ('K3', '471'), ('K4', '360')]

Вариант №14

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x9090')
{'Z1': 144, 'Z3': 18, 'Z4': 0}

>>> main('0xdc6aa')
{'Z1': 170, 'Z3': 184, 'Z4': 1}

>>> main('0x2c904')
{'Z1': 260, 'Z3': 89, 'Z4': 0}

>>> main('0x1aeea4')
{'Z1': 164, 'Z3': 93, 'Z4': 3}

Вариант №15

Задача №8

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

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

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

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

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

Тесты:

>>> main('117245162381')
(13, 14, 3, 182, 422, 3)

>>> main('97664451488')
(32, 14, 4, 642, 862, 2)

>>> main('39429126781')
(61, 41, 3, 81, 151, 1)

>>> main('7138766775')
(55, 62, 6, 769, 212, 0)

Вариант №16

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(8454614330)
[('D1', '2'), ('D3', '180'), ('D4', '239'), ('D5', '55'), ('D6', '7')]

>>> main(2490469919)
[('D1', '3'), ('D3', '568'), ('D4', '113'), ('D5', '20'), ('D6', '2')]

>>> main(7923547111)
[('D1', '3'), ('D3', '751'), ('D4', '71'), ('D5', '24'), ('D6', '7')]

>>> main(4838398817)
[('D1', '1'), ('D3', '109'), ('D4', '100'), ('D5', '32'), ('D6', '4')]

Вариант №17

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main((5, 25, 9, 0, 0, 310))
81274261

>>> main((2, 9, 3, 0, 5, 52))
13798546

>>> main((14, 37, 11, 0, 6, 18))
4927070

>>> main((12, 44, 0, 1, 6, 399))
104809164

Вариант №18

Задача №8

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

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

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

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

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

Тесты:

>>> main('70216119934')
{'R1': '30', 'R2': '947', 'R3': '1', 'R4': '10', 'R5': '73', 'R6': '261'}

>>> main('26232335199')
{'R1': '31', 'R2': '346', 'R3': '3', 'R4': '8', 'R5': '92', 'R6': '97'}

>>> main('7197455379')
{'R1': '19', 'R2': '928', 'R3': '0', 'R4': '0', 'R5': '104', 'R6': '26'}

>>> main('122626921617')
{'R1': '17', 'R2': '676', 'R3': '0', 'R4': '1', 'R5': '105', 'R6': '456'}

Вариант №19

Задача №8

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

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

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

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

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

Тесты:

>>> main('0xa57e0c7')
{'O1': '7', 'O3': '0', 'O4': '6', 'O5': '175', 'O6': '10'}

>>> main('0x36db8488')
{'O1': '8', 'O3': '1', 'O4': '0', 'O5': '439', 'O6': '54'}

>>> main('0xfffb6c2')
{'O1': '2', 'O3': '1', 'O4': '3', 'O5': '511', 'O6': '15'}

>>> main('0x2c271c17')
{'O1': '7', 'O3': '3', 'O4': '1', 'O5': '78', 'O6': '44'}

Вариант №20

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main({'P1': 46, 'P3': 5, 'P4': 5})
1392686

>>> main({'P1': 6, 'P3': 13, 'P4': 1})
475142

>>> main({'P1': 58, 'P3': 14, 'P4': 2})
753722

>>> main({'P1': 48, 'P3': 8, 'P4': 2})
655408

Вариант №21

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main({'V1': '8', 'V2': '9', 'V3': '1', 'V4': '42'})
1377432

>>> main({'V1': '5', 'V2': '0', 'V3': '26', 'V4': '48'})
1599493

>>> main({'V1': '13', 'V2': '12', 'V3': '24', 'V4': '13'})
450765

>>> main({'V1': '5', 'V2': '23', 'V3': '30', 'V4': '9'})
326005

Вариант №22

Задача №8

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

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

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

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

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

Тесты:

>>> main({'L1': '7', 'L3': '3', 'L4': '183', 'L5': '7'})
'4045191'

>>> main({'L1': '9', 'L3': '12', 'L4': '132', 'L5': '4'})
'2369033'

>>> main({'L1': '10', 'L3': '2', 'L4': '206', 'L5': '2'})
'1470730'

>>> main({'L1': '4', 'L3': '0', 'L4': '250', 'L5': '2'})
'1560580'

Вариант №23

Задача №8

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

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

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

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

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

Тесты:

>>> main({'G1': '0x0', 'G2': '0x0', 'G3': '0x4', 'G4': '0x3', 'G5': '0x4e'})
'640640'

>>> main({'G1': '0x8', 'G2': '0x0', 'G3': '0xa', 'G4': '0x5', 'G5': '0x16'})
'183112'

>>> main({'G1': '0x4', 'G2': '0x1', 'G3': '0xe', 'G4': '0xd', 'G5': '0x34'})
'433108'

>>> main({'G1': '0xd', 'G2': '0x1', 'G3': '0x1', 'G4': '0x7', 'G5': '0x34'})
'429629'

Вариант №24

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(2161187246)
'1181458484'

>>> main(684092803)
'2606811697'

>>> main(970203467)
'139644533'

>>> main(1025957714)
'3084160841'

Вариант №25

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x4787f1')
'0x207f1e1'

>>> main('0xb02ae1')
'0x186e20a'

>>> main('0x7a5772')
'0x3cb7095'

>>> main('0x73a8d2')
'0x388d0ea'

Вариант №26

Задача №8

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

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

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

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

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

Тесты:

>>> main('3672109224')
{'S1': '0', 'S2': '10', 'S3': '97', 'S5': '2', 'S6': '437'}

>>> main('5879289368')
{'S1': '0', 'S2': '6', 'S3': '44', 'S5': '3', 'S6': '700'}

>>> main('463798034')
{'S1': '2', 'S2': '4', 'S3': '126', 'S5': '1', 'S6': '55'}

>>> main('8552610419')
{'S1': '3', 'S2': '28', 'S3': '116', 'S5': '2', 'S6': '1019'}

Вариант №27

Задача №8

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

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

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

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

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

Тесты:

>>> main(('0x9', '0x2d', '0x15'))
'43737'

>>> main(('0x9', '0x70', '0x3d'))
'126729'

>>> main(('0x1', '0x24', '0x6b'))
'219713'

>>> main(('0xa', '0x66', '0x1e'))
'63082'

Вариант №28

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x18208')
[('M1', '0x8'), ('M2', '0x8'), ('M3', '0x0'), ('M4', '0x6')]

>>> main('0x1ddc3')
[('M1', '0x3'), ('M2', '0x77'), ('M3', '0x0'), ('M4', '0x7')]

>>> main('0x2328b')
[('M1', '0xb'), ('M2', '0x4a'), ('M3', '0x1'), ('M4', '0x8')]

>>> main('0x3483e')
[('M1', '0x3e'), ('M2', '0x20'), ('M3', '0x0'), ('M4', '0xd')]

Вариант №29

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(8347245251919)
'17038496174'

>>> main(11749055895119)
'1518973663'

>>> main(16726972351471)
'1864882285'

>>> main(16248756385863)
'7229622030'

Вариант №30

Задача №8

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

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

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

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

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

Тесты:

>>> main([('J2', '0xc'), ('J3', '0x12'), ('J4', '0x3f'), ('J5', '0x1fb'), ('J6', '0x0')])
'532664928'

>>> main([('J2', '0x16'), ('J3', '0x1d'), ('J4', '0x5'), ('J5', '0x5d'), ('J6', '0x1')])
'1171348912'

>>> main([('J2', '0x6'), ('J3', '0x29'), ('J4', '0xa'), ('J5', '0x340'), ('J6', '0x0')])
'872589616'

>>> main([('J2', '0x1a'), ('J3', '0xa'), ('J4', '0x3e'), ('J5', '0x6e'), ('J6', '0x0')])
'116361936'

Вариант №31

Задача №8

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

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

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

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

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

Тесты:

>>> main('138616351')
'0xe1f8400'

>>> main('25932463')
'0x2af1800'

>>> main('39183890')
'0x6122500'

>>> main('233008937')
'0xf29de00'

Вариант №32

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('30207856055')
7814129375

>>> main('50332261220')
10048376210

>>> main('28837618479')
29153410236

>>> main('34637898608')
21911317952

Вариант №33

Задача №8

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

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

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

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

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

Тесты:

>>> main('10180463823')
'0xbd00267cd'

>>> main('98013390098')
'0x1a4016890d'

>>> main('107550458718')
'0x15019af01'

>>> main('20348008209')
'0x17900488d5'

Вариант №34

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(564347511)
(119, 2, 26, 2, 67)

>>> main(407222600)
(72, 25, 45, 4, 48)

>>> main(122217574)
(102, 4, 71, 4, 14)

>>> main(832385155)
(131, 16, 105, 1, 99)

Вариант №35

Задача №8

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

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

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

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

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

Тесты:

>>> main((3, 0, 374, 14, 60))
'255352195'

>>> main((1, 12, 112, 4, 34))
'143662129'

>>> main((0, 9, 108, 13, 52))
'221518628'

>>> main((1, 8, 26, 5, 29))
'122947233'

Вариант №36

Задача №8

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

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

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

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

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

Тесты:

>>> main([('J2', '0x2'), ('J3', '0x3d7'), ('J4', '0x92'), ('J5', '0x18'), ('J6', '0x55')])
'0xaa6125eb88'

>>> main([('J2', '0x1c'), ('J3', '0x102'), ('J4', '0x1a2'), ('J5', '0x9'), ('J6', '0x7a')])
'0xf427448170'

>>> main([('J2', '0x11'), ('J3', '0x297'), ('J4', '0x1ec'), ('J5', '0x7e'), ('J6', '0x43')])
'0x87fbd94bc4'

>>> main([('J2', '0x1d'), ('J3', '0x28d'), ('J4', '0x17b'), ('J5', '0x5f'), ('J6', '0x6f')])
'0xdf7ef746f4'

Вариант №37

Задача №8

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

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

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

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

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

Тесты:

>>> main((6, 14, 0, 19))
'0x4dcc0'

>>> main((10, 15, 1, 30))
'0x7bf40'

>>> main((6, 5, 0, 24))
'0x60ac0'

>>> main((4, 13, 1, 12))
'0x33a80'

Вариант №38

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main({'E1': '0', 'E2': '2', 'E3': '0', 'E4': '210', 'E5': '11', 'E6': '0'})
734352

>>> main({'E1': '0', 'E2': '2', 'E3': '1', 'E4': '4', 'E5': '9', 'E6': '1'})
1638704

>>> main({'E1': '5', 'E2': '3', 'E3': '0', 'E4': '668', 'E5': '7', 'E6': '1'})
1550109

>>> main({'E1': '5', 'E2': '0', 'E3': '0', 'E4': '595', 'E5': '11', 'E6': '1'})
1807557

Вариант №39

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x1821725')
{'U1': '0x325', 'U2': '0x85', 'U3': '0x60'}

>>> main('0x116280c')
{'U1': '0xc', 'U2': '0x8a', 'U3': '0x45'}

>>> main('0x10099c6')
{'U1': '0x1c6', 'U2': '0x26', 'U3': '0x40'}

>>> main('0x1291b7a')
{'U1': '0x37a', 'U2': '0x46', 'U3': '0x4a'}

Вариант №40

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x167568d')
[('I1', 13), ('I2', 0), ('I3', 173), ('I4', 14), ('I5', 44)]

>>> main('0x1d939a7')
[('I1', 7), ('I2', 1), ('I3', 115), ('I4', 2), ('I5', 59)]

>>> main('0x14ad55d')
[('I1', 29), ('I2', 2), ('I3', 170), ('I4', 5), ('I5', 41)]

>>> main('0xa8bcff')
[('I1', 31), ('I2', 3), ('I3', 121), ('I4', 1), ('I5', 21)]