ИВБО-10-23

Вариант №1

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(251092216)
{'X1': '0x18', 'X3': '0x33', 'X4': '0x75', 'X5': '0xf', 'X6': '0x7'}

>>> main(525352115)
{'X1': '0x13', 'X3': '0x32', 'X4': '0x3', 'X5': '0x15', 'X6': '0xf'}

>>> main(83566872)
{'X1': '0x18', 'X3': '0x4', 'X4': '0xb2', 'X5': '0xf', 'X6': '0x2'}

>>> main(522852654)
{'X1': '0xe', 'X3': '0x24', 'X4': '0xa1', 'X5': '0x12', 'X6': '0xf'}

Вариант №2

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(134402994)
[('J1', '50'), ('J2', '423'), ('J3', '2'), ('J4', '32')]

>>> main(190035222)
[('J1', '22'), ('J2', '362'), ('J3', '19'), ('J4', '45')]

>>> main(443804596)
[('J1', '52'), ('J2', '471'), ('J3', '51'), ('J4', '105')]

>>> main(387617187)
[('J1', '35'), ('J2', '291'), ('J3', '26'), ('J4', '92')]

Вариант №3

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x8428f06')
(0, 3, 480, 40, 528)

>>> main('0x310bb37')
(1, 3, 358, 11, 196)

>>> main('0x34650c3')
(1, 1, 24, 37, 209)

>>> main('0xd3a0153')
(1, 1, 42, 32, 846)

Вариант №4

Задача №8

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

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

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

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

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

Тесты:

>>> main('0xddd80')
'28396'

>>> main('0xb8ae4')
'1203286'

>>> main('0xf4461')
'1112610'

>>> main('0x119168')
'1313931'

Вариант №5

Задача №8

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

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

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

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

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

Тесты:

>>> main({'Y1': 0, 'Y2': 0, 'Y3': 31, 'Y4': 739, 'Y5': 1})
'451576'

>>> main({'Y1': 1, 'Y2': 1, 'Y3': 20, 'Y4': 665, 'Y5': 0})
'170405'

>>> main({'Y1': 0, 'Y2': 0, 'Y3': 0, 'Y4': 425, 'Y5': 1})
'370944'

>>> main({'Y1': 2, 'Y2': 1, 'Y3': 3, 'Y4': 670, 'Y5': 0})
'171550'

Вариант №6

Задача №8

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

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

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

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

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

Тесты:

>>> main('61108049')
{'A1': '0x1', 'A2': '0x2f5', 'A3': '0x1', 'A4': '0x8', 'A5': '0x3a'}

>>> main('65153144')
{'A1': '0x8', 'A2': '0x287', 'A3': '0x0', 'A4': '0x4', 'A5': '0x3e'}

>>> main('28916221')
{'A1': '0xd', 'A2': '0x39f', 'A3': '0x0', 'A4': '0x12', 'A5': '0x1b'}

>>> main('7692510')
{'A1': '0xe', 'A2': '0x20d', 'A3': '0x1', 'A4': '0xa', 'A5': '0x7'}

Вариант №7

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('100128754')
66039754

>>> main('5646234')
11292264

>>> main('124714159')
48100031

>>> main('109043313')
16759239

Вариант №8

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(15186288)
[('X1', '368'), ('X2', '92'), ('X3', '103'), ('X4', '1')]

>>> main(40348292)
[('X1', '132'), ('X2', '85'), ('X3', '103'), ('X4', '4')]

>>> main(27380253)
[('X1', '29'), ('X2', '101'), ('X3', '33'), ('X4', '3')]

>>> main(53562048)
[('X1', '192'), ('X2', '37'), ('X3', '49'), ('X4', '6')]

Вариант №9

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('23360246')
887730

>>> main('1890416')
792846

>>> main('7980639')
522556

>>> main('17520513')
28293

Вариант №10

Задача №8

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

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

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

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

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

Тесты:

>>> main([('W1', '1'), ('W2', '726'), ('W3', '125'), ('W4', '238'), ('W5', '1'), ('W6', '282')])
'0x8d1773edad'

>>> main([('W1', '0'), ('W2', '379'), ('W3', '17'), ('W4', '63'), ('W5', '3'), ('W6', '85')])
'0x2ab1f88af6'

>>> main([('W1', '1'), ('W2', '906'), ('W3', '43'), ('W4', '309'), ('W5', '7'), ('W6', '47')])
'0x17f9a95f15'

>>> main([('W1', '0'), ('W2', '249'), ('W3', '82'), ('W4', '227'), ('W5', '5'), ('W6', '101')])
'0x32d71a91f2'

Вариант №11

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main([('J1', '0x7'), ('J2', '0x30'), ('J3', '0x7'), ('J5', '0x2'), ('J6', '0x16c')])
1527254919

>>> main([('J1', '0x6'), ('J2', '0x3b'), ('J3', '0x0'), ('J5', '0x2'), ('J6', '0xa2')])
680002014

>>> main([('J1', '0x2'), ('J2', '0x14'), ('J3', '0x7'), ('J5', '0x2'), ('J6', '0x96')])
629673634

>>> main([('J1', '0x1'), ('J2', '0x2a'), ('J3', '0x4'), ('J5', '0xf'), ('J6', '0xd')])
58460497

Вариант №12

Задача №8

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

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

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

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

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

Тесты:

>>> main('29844685')
'38591605'

>>> main('36225415')
'1602190'

>>> main('52600236')
'31113771'

>>> main('12272771')
'4733876'

Вариант №13

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main((78, 1, 37, 15, 112))
1895083232

>>> main((101, 2, 29, 12, 71))
1204008528

>>> main((68, 1, 58, 12, 117))
1975995456

>>> main((105, 0, 15, 12, 95))
1606542992

Вариант №14

Задача №8

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

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

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

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

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

Тесты:

>>> main('773475')
{'Y1': 1, 'Y2': 49, 'Y3': 973, 'Y4': 2}

>>> main('586339')
{'Y1': 1, 'Y2': 49, 'Y3': 242, 'Y4': 2}

>>> main('407035')
{'Y1': 1, 'Y2': 125, 'Y3': 565, 'Y4': 1}

>>> main('661070')
{'Y1': 0, 'Y2': 39, 'Y3': 534, 'Y4': 2}

Вариант №15

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main([('H1', '0x0'), ('H3', '0x35'), ('H4', '0x267')])
2522432

>>> main([('H1', '0x1'), ('H3', '0x4'), ('H4', '0x345')])
3428609

>>> main([('H1', '0x0'), ('H3', '0x27'), ('H4', '0x354')])
3492288

>>> main([('H1', '0x0'), ('H3', '0x1d'), ('H4', '0x331')])
3348288

Вариант №16

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(12531612)
(28, 222, 47)

>>> main(23833427)
(19, 173, 90)

>>> main(28503079)
(39, 432, 108)

>>> main(8523604)
(20, 61, 32)

Вариант №17

Задача №8

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

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

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

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

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

Тесты:

>>> main({'L1': 20, 'L2': 1, 'L3': 524, 'L4': 46, 'L5': 712, 'L6': 137})
'0x44d902e8334'

>>> main({'L1': 29, 'L2': 1, 'L3': 942, 'L4': 63, 'L5': 92, 'L6': 8})
'0x40b83febbd'

>>> main({'L1': 9, 'L2': 1, 'L3': 403, 'L4': 241, 'L5': 366, 'L6': 115})
'0x39adcf164e9'

>>> main({'L1': 14, 'L2': 1, 'L3': 717, 'L4': 455, 'L5': 765, 'L6': 78})
'0x275fbc7b36e'

Вариант №18

Задача №8

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

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

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

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

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

Тесты:

>>> main('922707')
[('T1', '0x3'), ('T2', '0x4'), ('T3', '0x11'), ('T4', '0x21'), ('T5', '0x3')]

>>> main('647444')
[('T1', '0x0'), ('T2', '0x5'), ('T3', '0x4'), ('T4', '0x1e'), ('T5', '0x2')]

>>> main('813896')
[('T1', '0x0'), ('T2', '0x2'), ('T3', '0x2d'), ('T4', '0x6'), ('T5', '0x3')]

>>> main('157961')
[('T1', '0x1'), ('T2', '0x2'), ('T3', '0x24'), ('T4', '0x26'), ('T5', '0x0')]

Вариант №19

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(31275)
[('H1', '0x2b'), ('H2', '0x0'), ('H3', '0x0'), ('H4', '0x3d'), ('H5', '0x0')]

>>> main(12092)
[('H1', '0x3c'), ('H2', '0x0'), ('H3', '0x1'), ('H4', '0x17'), ('H5', '0x0')]

>>> main(10093)
[('H1', '0x6d'), ('H2', '0x0'), ('H3', '0x1'), ('H4', '0x13'), ('H5', '0x0')]

>>> main(89329)
[('H1', '0x71'), ('H2', '0x1'), ('H3', '0x0'), ('H4', '0x2e'), ('H5', '0x1')]

Вариант №20

Задача №8

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

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

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

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

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

Тесты:

>>> main({'I1': 1, 'I2': 16, 'I3': 5, 'I4': 6})
'12993'

>>> main({'I1': 2, 'I2': 23, 'I3': 5, 'I4': 7})
'15070'

>>> main({'I1': 3, 'I2': 31, 'I3': 4, 'I4': 3})
'6783'

>>> main({'I1': 1, 'I2': 21, 'I3': 1, 'I4': 1})
'2261'

Вариант №21

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(7514756)
('0x284', '0x0', '0x255', '0x3')

>>> main(8079263)
('0x39f', '0x1', '0x368', '0x3')

>>> main(6014374)
('0x1a6', '0x1', '0x378', '0x2')

>>> main(1751810)
('0x302', '0x0', '0x357', '0x0')

Вариант №22

Задача №8

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

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

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

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

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

Тесты:

>>> main('1002')
[('R1', 0), ('R2', 21), ('R3', 3), ('R4', 1), ('R5', 1)]

>>> main('154')
[('R1', 0), ('R2', 13), ('R3', 2), ('R4', 0), ('R5', 0)]

>>> main('556')
[('R1', 0), ('R2', 22), ('R3', 0), ('R4', 0), ('R5', 1)]

>>> main('88')
[('R1', 0), ('R2', 12), ('R3', 1), ('R4', 0), ('R5', 0)]

Вариант №23

Задача №8

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

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

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

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

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

Тесты:

>>> main('743740968265')
[('Y1', 73), ('Y2', 26), ('Y3', 168), ('Y4', 339), ('Y5', 346)]

>>> main('1272519902323')
[('Y1', 115), ('Y2', 8), ('Y3', 396), ('Y4', 576), ('Y5', 592)]

>>> main('1210378573857')
[('Y1', 33), ('Y2', 16), ('Y3', 245), ('Y4', 641), ('Y5', 563)]

>>> main('1796555100857')
[('Y1', 57), ('Y2', 5), ('Y3', 117), ('Y4', 600), ('Y5', 836)]

Вариант №24

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(2367129)
{'W1': 1, 'W2': 467, 'W3': 1, 'W4': 2, 'W5': 1}

>>> main(7283534)
{'W1': 6, 'W2': 105, 'W3': 18, 'W4': 7, 'W5': 3}

>>> main(4619784)
{'W1': 0, 'W2': 449, 'W3': 7, 'W4': 3, 'W5': 2}

>>> main(3995526)
{'W1': 6, 'W2': 240, 'W3': 15, 'W4': 14, 'W5': 1}

Вариант №25

Задача №8

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

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

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

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

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

Тесты:

>>> main('204654')
(251, 0, 3)

>>> main('2176544')
(433, 0, 33)

>>> main('1507834')
(15, 0, 23)

>>> main('565453')
(262, 2, 8)

Вариант №26

Задача №8

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

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

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

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

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

Тесты:

>>> main([('B1', 2), ('B2', 2), ('B4', 30)])
'61458'

>>> main([('B1', 0), ('B2', 13), ('B4', 30)])
'61544'

>>> main([('B1', 3), ('B2', 9), ('B4', 25)])
'51275'

>>> main([('B1', 2), ('B2', 4), ('B4', 7)])
'14370'

Вариант №27

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x1f3a9188a')
'7403914'

>>> main('0x40615052')
'4726866'

>>> main('0x15fccaf1a')
'4173594'

>>> main('0x8f589ad5')
'2770901'

Вариант №28

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x2baf03')
'0x103ae15'

>>> main('0x1339ee6')
'0xe69f19'

>>> main('0x19587c9')
'0x1c9878a'

>>> main('0x11cd1ad')
'0x1add10e'

Вариант №29

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main({'A2': '2', 'A3': '7', 'A4': '436', 'A5': '6', 'A6': '0'})
1684720

>>> main({'A2': '2', 'A3': '2', 'A4': '151', 'A5': '6', 'A6': '1'})
3708752

>>> main({'A2': '2', 'A3': '5', 'A4': '290', 'A5': '1', 'A6': '0'})
336560

>>> main({'A2': '2', 'A3': '0', 'A4': '111', 'A5': '4', 'A6': '0'})
1077008

Вариант №30

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x5e76')
'21405'

>>> main('0x5220')
'20616'

>>> main('0x611c')
'24647'

>>> main('0x37d2')
'12788'

Вариант №31

Задача №8

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

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

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

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

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

Тесты:

>>> main('1157941553')
[('R1', '305'), ('R2', '50'), ('R4', '276')]

>>> main('305389587')
[('R1', '19'), ('R2', '248'), ('R4', '72')]

>>> main('2851791692')
[('R1', '844'), ('R2', '184'), ('R4', '679')]

>>> main('1231716577')
[('R1', '225'), ('R2', '160'), ('R4', '293')]

Вариант №32

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x7b17d')
'286589'

>>> main('0x3de87')
'500190'

>>> main('0x21d47')
'479696'

>>> main('0x2383')
'57537'

Вариант №33

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(10705201)
[('M1', 305), ('M2', 2), ('M4', 40)]

>>> main(12178969)
[('M1', 537), ('M2', 1), ('M4', 46)]

>>> main(19149020)
[('M1', 220), ('M2', 0), ('M4', 73)]

>>> main(7814050)
[('M1', 930), ('M2', 2), ('M4', 29)]

Вариант №34

Задача №8

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

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

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

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

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

Тесты:

>>> main([('U1', 1000), ('U2', 0), ('U3', 27), ('U5', 2)])
'33610728'

>>> main([('U1', 963), ('U2', 0), ('U3', 29), ('U5', 12)])
'201386947'

>>> main([('U1', 458), ('U2', 0), ('U3', 25), ('U5', 0)])
'51658'

>>> main([('U1', 617), ('U2', 0), ('U3', 31), ('U5', 9)])
'151059049'

Вариант №35

Задача №8

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

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

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

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

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

Тесты:

>>> main('63433348277')
'47982878571'

>>> main('22019020325')
'49526344347'

>>> main('19737724111')
'65263569485'

>>> main('32770796325')
'46305127378'

Вариант №36

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x220b41')
(1, 5, 0, 17)

>>> main('0xc15434')
(0, 2, 21, 96)

>>> main('0x155d5b1')
(1, 2, 29, 170)

>>> main('0x1b0c422')
(2, 2, 12, 216)

Вариант №37

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(208016653)
'0xc65870a'

>>> main(340754031)
'0x144f37bf'

>>> main(527518752)
'0x1f7010a6'

>>> main(161603048)
'0x9a0f4ee'

Вариант №38

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main({'J1': '0x1c', 'J2': '0xd6', 'J3': '0x7a', 'J4': '0xec', 'J5': '0x5', 'J6': '0x3c'})
8249518503324

>>> main({'J1': '0x3a', 'J2': '0x7', 'J3': '0x6b', 'J4': '0xca', 'J5': '0x5c', 'J6': '0x2c'})
6097131454970

>>> main({'J1': '0x16', 'J2': '0x21', 'J3': '0x60', 'J4': '0x4a', 'J5': '0x33', 'J6': '0xc'})
1676804622422

>>> main({'J1': '0x3f', 'J2': '0x69', 'J3': '0x0', 'J4': '0xf2', 'J5': '0xe6', 'J6': '0x22'})
4796912245375

Вариант №39

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main({'I1': 57, 'I2': 7, 'I3': 61})
125433

>>> main({'I1': 29, 'I2': 21, 'I3': 397})
814429

>>> main({'I1': 11, 'I2': 29, 'I3': 398})
816971

>>> main({'I1': 40, 'I2': 22, 'I3': 412})
845224

Вариант №40

Задача №8

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

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

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

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

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

Тесты:

>>> main('48641731721')
{'Q2': 0, 'Q3': 34, 'Q4': 758, 'Q5': 104, 'Q6': 181}

>>> main('49010089674')
{'Q2': 1, 'Q3': 50, 'Q4': 335, 'Q5': 295, 'Q6': 182}

>>> main('104281944592')
{'Q2': 0, 'Q3': 4, 'Q4': 25, 'Q5': 246, 'Q6': 388}

>>> main('38454748526')
{'Q2': 1, 'Q3': 91, 'Q4': 626, 'Q5': 130, 'Q6': 143}