ИКБО-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

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

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

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

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

Целое.