ИКБО-41-23

Вариант №1

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(591829345)
('0x61', '0x32', '0x11a', '0x23')

>>> main(887619758)
('0x2e', '0x1', '0x3a0', '0x34')

>>> main(145885133)
('0x4d', '0xf', '0x2c8', '0x8')

>>> main(966868600)
('0x78', '0x7c', '0x284', '0x39')

Вариант №2

Задача №8

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

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

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

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

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

Тесты:

>>> main([('O1', '0x20'), ('O2', '0x64'), ('O3', '0x1'), ('O5', '0x10'), ('O6', '0x1')])
'604038176'

>>> main([('O1', '0x1f'), ('O2', '0xc'), ('O3', '0x2'), ('O5', '0x36'), ('O6', '0x0')])
'226561055'

>>> main([('O1', '0xf9'), ('O2', '0x9'), ('O3', '0x2'), ('O5', '0x6e'), ('O6', '0x0')])
'461441529'

>>> main([('O1', '0xd0'), ('O2', '0x50'), ('O3', '0x2'), ('O5', '0x9'), ('O6', '0x1')])
'574705872'

Вариант №3

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(14338599479)
{'R1': '0x37', 'R2': '0x1aa', 'R3': '0x9', 'R4': '0x15a', 'R5': '0x6', 'R6': '0x0'}

>>> main(5571300178)
{'R1': '0x52', 'R2': '0x34b', 'R3': '0x4', 'R4': '0x130', 'R5': '0x2', 'R6': '0x0'}

>>> main(2744179867)
{'R1': '0x9b', 'R2': '0xdc', 'R3': '0x4', 'R4': '0x8e', 'R5': '0x1', 'R6': '0x0'}

>>> main(10931839945)
{'R1': '0xc9', 'R2': '0x2a3', 'R3': '0x5', 'R4': '0x2e', 'R5': '0x5', 'R6': '0x0'}

Вариант №4

Задача №8

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

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

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

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

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

Тесты:

>>> main(('2', '380', '1', '89', '13', '120'))
'0x786d9df2'

>>> main(('1', '318', '1', '22', '14', '4'))
'0x4716cf9'

>>> main(('3', '178', '0', '82', '5', '176'))
'0xb02d22cb'

>>> main(('3', '208', '0', '101', '12', '188'))
'0xbc665343'

Вариант №5

Задача №8

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

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

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

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

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

Тесты:

>>> main(('0x12', '0x25', '0x1b'))
'889544'

>>> main(('0x16', '0xf5', '0xcf'))
'6814424'

>>> main(('0x0', '0x36', '0xa4'))
'5380864'

>>> main(('0xe', '0x2e', '0x91'))
'4757304'

Вариант №6

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(5505841)
[('G1', '0x1'), ('G2', '0x66'), ('G3', '0x0'), ('G4', '0xa8')]

>>> main(7505748)
[('G1', '0x4'), ('G2', '0xea'), ('G3', '0x0'), ('G4', '0xe5')]

>>> main(4919517)
[('G1', '0x5'), ('G2', '0x1b'), ('G3', '0x1'), ('G4', '0x96')]

>>> main(6993852)
[('G1', '0x4'), ('G2', '0xf7'), ('G3', '0x3'), ('G4', '0xd5')]

Вариант №7

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(1733501612573)
(29, 2, 28, 191, 50)

>>> main(3502815598554)
(218, 3, 21, 20, 101)

>>> main(668917649904)
(240, 1, 20, 665, 19)

>>> main(1414336764868)
(196, 3, 22, 266, 41)

Вариант №8

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x11')
[('D1', '0x1'), ('D2', '0x1'), ('D3', '0x0'), ('D4', '0x0')]

>>> main('0x1d')
[('D1', '0xd'), ('D2', '0x1'), ('D3', '0x0'), ('D4', '0x0')]

>>> main('0x28')
[('D1', '0x8'), ('D2', '0x0'), ('D3', '0x1'), ('D4', '0x0')]

>>> main('0x1d9')
[('D1', '0x9'), ('D2', '0x1'), ('D3', '0x2'), ('D4', '0x3')]

Вариант №9

Задача №8

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

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

Целое.

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

Целое.

Тесты:

>>> main(4862040774677)
4399816593539

>>> main(2628735386789)
2200840065229

>>> main(5719869428357)
4400481852460

>>> main(4604505226641)
4399654572318

Вариант №10

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x12638d7a')
'0x126387ad'

>>> main('0x3283a88c')
'0x3283a8c8'

>>> main('0x2d5c9082')
'0x2d5c9820'

>>> main('0xd43298d')
'0xd4328d9'

Вариант №11

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main({'Z1': '0xe', 'Z2': '0x71', 'Z3': '0x4', 'Z4': '0x37c', 'Z5': '0x1'})
251143966

>>> main({'Z1': '0x8', 'Z2': '0x7b', 'Z3': '0xd', 'Z4': '0x39e', 'Z5': '0x4'})
658272184

>>> main({'Z1': '0xa', 'Z2': '0x12', 'Z3': '0xb', 'Z4': '0x315', 'Z5': '0x4'})
640309546

>>> main({'Z1': '0x9', 'Z2': '0x12', 'Z3': '0x21', 'Z4': '0x232', 'Z5': '0x1'})
207948073

Вариант №12

Задача №8

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

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

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

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

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

Тесты:

>>> main('1302083')
{'T1': '67', 'T2': '222', 'T3': '19'}

>>> main('1966193')
{'T1': '113', 'T2': '0', 'T3': '30'}

>>> main('807393')
{'T1': '225', 'T2': '81', 'T3': '12'}

>>> main('2779947')
{'T1': '43', 'T2': '107', 'T3': '42'}

Вариант №13

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(71745668)
[('L1', 4), ('L2', 258), ('L3', 1), ('L4', 70), ('L5', 1)]

>>> main(108864467)
[('L1', 19), ('L2', 143), ('L3', 0), ('L4', 637), ('L5', 1)]

>>> main(48441154)
[('L1', 2), ('L2', 157), ('L3', 0), ('L4', 739), ('L5', 0)]

>>> main(98182902)
[('L1', 54), ('L2', 155), ('L3', 0), ('L4', 474), ('L5', 1)]

Вариант №14

Задача №8

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

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

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

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

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

Тесты:

>>> main('5346888785')
'3004048031'

>>> main('5104044505')
'965422744'

>>> main('7841674336')
'6013846505'

>>> main('4763620801')
'8306044557'

Вариант №15

Задача №8

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

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

Целое.

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

Целое.

Тесты:

>>> main(13134115)
13449036067

>>> main(7117940)
7288651892

>>> main(10460293)
10711203973

>>> main(4201980)
4302307836

Вариант №16

Задача №8

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

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

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

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

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

Тесты:

>>> main('0xb329ded18')
[('Z1', 0), ('Z2', 70), ('Z3', 891), ('Z5', 358), ('Z6', 0)]

>>> main('0x1562780fd3')
[('Z1', 3), ('Z2', 244), ('Z3', 515), ('Z5', 172), ('Z6', 1)]

>>> main('0x13560ecc6')
[('Z1', 2), ('Z2', 49), ('Z3', 59), ('Z5', 38), ('Z6', 0)]

>>> main('0x7f8b7afc7')
[('Z1', 3), ('Z2', 241), ('Z3', 491), ('Z5', 255), ('Z6', 0)]

Вариант №17

Задача №8

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

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

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

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

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

Тесты:

>>> main(('0x17', '0x233', '0x1', '0x43', '0x1', '0x1'))
'0x5878cd7'

>>> main(('0x33', '0x100', '0x0', '0x62', '0x2', '0x2'))
'0xac44033'

>>> main(('0xb', '0xeb', '0x1', '0x61', '0x1', '0x3'))
'0xdc33acb'

>>> main(('0x1c', '0x35c', '0x0', '0x54', '0x0', '0x3'))
'0xca8d71c'

Вариант №18

Задача №8

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

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

Целое.

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

Целое.

Тесты:

>>> main(812114)
1189996

>>> main(691726)
3605642

>>> main(625212)
2432137

>>> main(402679)
3831846

Вариант №19

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(82936243)
'0x1603e604'

>>> main(202745551)
'0x194c2e0c'

>>> main(119009846)
'0x6e42c07'

>>> main(433513367)
'0x12c7ae19'

Вариант №20

Задача №8

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

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

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

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

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

Тесты:

>>> main('638422')
[('L1', 470), ('L2', 623), ('L3', 0)]

>>> main('3975224')
[('L1', 56), ('L2', 810), ('L3', 3)]

>>> main('1973203')
[('L1', 979), ('L2', 902), ('L3', 1)]

>>> main('1717003')
[('L1', 779), ('L2', 652), ('L3', 1)]

Вариант №21

Задача №8

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

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

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

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

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

Тесты:

>>> main([('M1', '58'), ('M2', '5'), ('M3', '0'), ('M4', '38'), ('M6', '24')])
'3222471354'

>>> main([('M1', '101'), ('M2', '7'), ('M3', '16'), ('M4', '52'), ('M6', '7')])
'941245413'

>>> main([('M1', '105'), ('M2', '6'), ('M3', '3'), ('M4', '62'), ('M6', '26')])
'3491696489'

>>> main([('M1', '45'), ('M2', '0'), ('M3', '16'), ('M4', '16'), ('M6', '14')])
'1879588909'

Вариант №22

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(540331032971)
{'E1': 395, 'E2': 0, 'E3': 2, 'E4': 29, 'E5': 113, 'E6': 1006}

>>> main(133080483371)
{'E1': 555, 'E2': 1, 'E3': 0, 'E4': 23, 'E5': 225, 'E6': 247}

>>> main(95509278236)
{'E1': 540, 'E2': 3, 'E3': 7, 'E4': 11, 'E5': 230, 'E6': 177}

>>> main(73564063436)
{'E1': 716, 'E2': 1, 'E3': 4, 'E4': 2, 'E5': 6, 'E6': 137}

Вариант №23

Задача №8

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

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

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

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

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

Тесты:

>>> main('1986511127')
'0x4116d9f7'

>>> main('313542054')
'0x45b22c06'

>>> main('780719819')
'0x56ce622b'

>>> main('7010616')
'0x79201ab8'

Вариант №24

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('0x3b411cb')
2330331

>>> main('0x2c51771')
19852049

>>> main('0xc5ba2e')
32785182

>>> main('0x1e4f2fc')
15071132

Вариант №25

Задача №8

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

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

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

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

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

Тесты:

>>> main('128469652')
{'S1': '660', 'S2': '18', 'S3': '2', 'S4': '26', 'S5': '3'}

>>> main('185763666')
{'S1': '850', 'S2': '161', 'S3': '0', 'S4': '17', 'S5': '5'}

>>> main('34025007')
{'S1': '559', 'S2': '203', 'S3': '1', 'S4': '0', 'S5': '1'}

>>> main('259618917')
{'S1': '101', 'S2': '94', 'S3': '2', 'S4': '23', 'S5': '7'}

Вариант №26

Задача №8

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

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

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

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

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

Тесты:

>>> main('0xf09c6')
[('M1', 0), ('M2', 227), ('M4', 1)]

>>> main('0x22a029')
[('M1', 1), ('M2', 20), ('M4', 4)]

>>> main('0x2d31c3')
[('M1', 1), ('M2', 225), ('M4', 5)]

>>> main('0x2fcbb3')
[('M1', 1), ('M2', 473), ('M4', 5)]

Вариант №27

Задача №8

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

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

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

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

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

Тесты:

>>> main('2965')
'0xb941'

>>> main('3493')
'0xda41'

>>> main('79')
'0x4e1'

>>> main('2161')
'0x8701'

Вариант №28

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x5a8c2cf0')
{'Z1': 240, 'Z2': 11, 'Z3': 16, 'Z4': 81, 'Z5': 3, 'Z6': 1}

>>> main('0x2815a52d')
{'Z1': 301, 'Z2': 9, 'Z3': 22, 'Z4': 2, 'Z5': 5, 'Z6': 0}

>>> main('0x765fc9d7')
{'Z1': 471, 'Z2': 2, 'Z3': 31, 'Z4': 203, 'Z5': 6, 'Z6': 1}

>>> main('0x1cab5366')
{'Z1': 870, 'Z2': 4, 'Z3': 13, 'Z4': 149, 'Z5': 3, 'Z6': 0}

Вариант №29

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main({'Z1': '0', 'Z2': '2', 'Z3': '4', 'Z4': '26', 'Z5': '1'})
7492

>>> main({'Z1': '0', 'Z2': '3', 'Z3': '2', 'Z4': '14', 'Z5': '16'})
67366

>>> main({'Z1': '1', 'Z2': '2', 'Z3': '7', 'Z4': '15', 'Z5': '24'})
100341

>>> main({'Z1': '0', 'Z2': '5', 'Z3': '0', 'Z4': '17', 'Z5': '31'})
129162

Вариант №30

Задача №8

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

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

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

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

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

Тесты:

>>> main((990, 49, 4))
'0x20c7de'

>>> main((336, 34, 7))
'0x388950'

>>> main((607, 58, 1))
'0x8ea5f'

>>> main((383, 13, 7))
'0x38357f'

Вариант №31

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x6920')
('0', '2', '26')

>>> main('0xb7da7')
('3', '3', '735')

>>> main('0x9f799')
('1', '7', '637')

>>> main('0x3d71f')
('3', '6', '245')

Вариант №32

Задача №8

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

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

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

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

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

Тесты:

>>> main(('24', '25', '703', '5', '7'))
'123404088'

>>> main(('30', '5', '95', '9', '2'))
'43089086'

>>> main(('28', '21', '769', '1', '5'))
'85722812'

>>> main(('23', '20', '892', '15', '0'))
'16642711'

Вариант №33

Задача №8

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

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

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

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

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

Тесты:

>>> main('5201151')
(255, 0, 14, 1, 30, 4)

>>> main('32969971')
(243, 0, 10, 0, 14, 31)

>>> main('39972658')
(50, 1, 23, 1, 3, 38)

>>> main('19659402')
(138, 0, 29, 1, 23, 18)

Вариант №34

Задача №8

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

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

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

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

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

Тесты:

>>> main({'Y1': '2', 'Y2': '6', 'Y4': '202'})
'0x1940182'

>>> main({'Y1': '17', 'Y2': '1', 'Y4': '139'})
'0x1160051'

>>> main({'Y1': '50', 'Y2': '5', 'Y4': '220'})
'0x1b80172'

>>> main({'Y1': '18', 'Y2': '6', 'Y4': '87'})
'0xae0192'

Вариант №35

Задача №8

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

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

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

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

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

Тесты:

>>> main('76224777')
[('X1', '0x1'), ('X2', '0x121'), ('X3', '0x31'), ('X4', '0x1'), ('X5', '0x48')]

>>> main('97136603')
[('X1', '0x3'), ('X2', '0x1fb'), ('X3', '0x22'), ('X4', '0x1'), ('X5', '0x5c')]

>>> main('36467281')
[('X1', '0x1'), ('X2', '0x4a'), ('X3', '0x47'), ('X4', '0x1'), ('X5', '0x22')]

>>> main('84518182')
[('X1', '0x6'), ('X2', '0xa4'), ('X3', '0x1a'), ('X4', '0x1'), ('X5', '0x50')]

Вариант №36

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x33bffbf1')
[('H1', 17), ('H2', 223), ('H3', 511), ('H4', 3), ('H5', 25)]

>>> main('0x1f0b2ffd')
[('H1', 29), ('H2', 127), ('H3', 89), ('H4', 2), ('H5', 15)]

>>> main('0x15ad3a59')
[('H1', 25), ('H2', 210), ('H3', 361), ('H4', 3), ('H5', 10)]

>>> main('0x3095a9d7')
[('H1', 23), ('H2', 78), ('H3', 173), ('H4', 1), ('H5', 24)]

Вариант №37

Задача №8

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

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

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

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

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

Тесты:

>>> main('32918120952')
{'O1': 120, 'O3': 2, 'O4': 265, 'O5': 245}

>>> main('10311203363')
{'O1': 35, 'O3': 1, 'O4': 844, 'O5': 76}

>>> main('40487630362')
{'O1': 26, 'O3': 0, 'O4': 672, 'O5': 301}

>>> main('39860817787')
{'O1': 123, 'O3': 7, 'O4': 1009, 'O5': 296}

Вариант №38

Задача №8

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

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

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

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

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

Тесты:

>>> main('159802')
{'O1': 0, 'O2': 29, 'O3': 448, 'O4': 2}

>>> main('77289')
{'O1': 1, 'O2': 20, 'O3': 183, 'O4': 1}

>>> main('62438')
{'O1': 0, 'O2': 19, 'O3': 975, 'O4': 0}

>>> main('103874')
{'O1': 0, 'O2': 1, 'O3': 599, 'O4': 1}

Вариант №39

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(60754076)
'303562983'

>>> main(239698216)
'74449042'

>>> main(111890306)
'270794922'

>>> main(260774127)
'494665954'

Вариант №40

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(46909714)
('18', '18', '14', '5')

>>> main(52155664)
('16', '42', '14', '6')

>>> main(100987326)
('62', '35', '7', '12')

>>> main(112562068)
('20', '31', '12', '13')