ИНБО-10-23

Вариант №1

Задача №8

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

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

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

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

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

Тесты:

>>> main([('S2', '290'), ('S3', '658'), ('S4', '455')])
'0x38f49488'

>>> main([('S2', '107'), ('S3', '173'), ('S4', '899')])
'0x706569ac'

>>> main([('S2', '117'), ('S3', '306'), ('S4', '340')])
'0x2a8991d4'

>>> main([('S2', '281'), ('S3', '639'), ('S4', '292')])
'0x2493fc64'

Вариант №2

Задача №8

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

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

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

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

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

Тесты:

>>> main('984720799139')
'1013634495838'

>>> main('135239181020')
'962137563841'

>>> main('716400097849')
'841842031306'

>>> main('867615919859')
'1030834114076'

Вариант №3

Задача №8

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

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

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

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

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

Тесты:

>>> main({'G1': '0x1', 'G2': '0x42', 'G3': '0x13', 'G4': '0x60', 'G5': '0x0', 'G6': '0xad'})
'0x2b41826841'

>>> main({'G1': '0xf', 'G2': '0x78', 'G3': '0x1e', 'G4': '0x269', 'G5': '0x2', 'G6': '0x1f7'})
'0x7de9a7cf0f'

>>> main({'G1': '0x16', 'G2': '0x4d', 'G3': '0x2', 'G4': '0x294', 'G5': '0x2', 'G6': '0x17e'})
'0x5faa5049b6'

>>> main({'G1': '0x0', 'G2': '0x15', 'G3': '0x1', 'G4': '0xd9', 'G5': '0x2', 'G6': '0x27'})
'0x9e36422a0'

Вариант №4

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x5b50258')
'44930562'

>>> main('0x76b0747')
'96162183'

>>> main('0x2a8806c')
'72686336'

>>> main('0x1a1b2f')
'83938203'

Вариант №5

Задача №8

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

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

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

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

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

Тесты:

>>> main([('K1', '0'), ('K2', '0'), ('K3', '20'), ('K4', '126'), ('K5', '1'), ('K6', '0')])
'65184'

>>> main([('K1', '0'), ('K2', '1'), ('K3', '13'), ('K4', '64'), ('K5', '1'), ('K6', '4')])
'311404'

>>> main([('K1', '1'), ('K2', '0'), ('K3', '18'), ('K4', '116'), ('K5', '0'), ('K6', '7')])
'488593'

>>> main([('K1', '2'), ('K2', '1'), ('K3', '9'), ('K4', '56'), ('K5', '1'), ('K6', '3')])
'243790'

Вариант №6

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main((501, 3, 93, 1, 207))
13908695029

>>> main((192, 3, 46, 3, 98))
6627190464

>>> main((486, 4, 179, 0, 21))
1410021862

>>> main((274, 5, 8, 1, 88))
5922392850

Вариант №7

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x3c035c4aa')
'451060681'

>>> main('0x1bdc94316')
'63965323686'

>>> main('0x212d954b')
'2529996842'

>>> main('0x7e38c8784')
'7621068783'

Вариант №8

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x1ac0eff5')
{'U1': 501, 'U3': 5, 'U4': 3, 'U5': 88, 'U6': 6}

>>> main('0x5150ddca')
{'U1': 458, 'U3': 3, 'U4': 3, 'U5': 42, 'U6': 20}

>>> main('0x2acda437')
{'U1': 55, 'U3': 4, 'U4': 22, 'U5': 89, 'U6': 10}

>>> main('0x1e0b9c8d')
{'U1': 141, 'U3': 3, 'U4': 14, 'U5': 65, 'U6': 7}

Вариант №9

Задача №8

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

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

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

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

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

Тесты:

>>> main('548055435')
[('I1', '139'), ('I2', '41'), ('I3', '42'), ('I4', '261'), ('I5', '0'), ('I6', '0')]

>>> main('15422385053')
[('I1', '157'), ('I2', '43'), ('I3', '123'), ('I4', '185'), ('I5', '2'), ('I6', '3')]

>>> main('16485607176')
[('I1', '8'), ('I2', '39'), ('I3', '121'), ('I4', '180'), ('I5', '3'), ('I6', '3')]

>>> main('12633515861')
[('I1', '85'), ('I2', '39'), ('I3', '16'), ('I4', '392'), ('I5', '3'), ('I6', '2')]

Вариант №10

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x54ff8')
(248, 3, 19, 2, 1, 0)

>>> main('0xe2fe62')
(98, 2, 31, 5, 0, 14)

>>> main('0x56309e')
(158, 0, 12, 4, 1, 5)

>>> main('0xfe6a46')
(70, 2, 26, 4, 3, 15)

Вариант №11

Задача №8

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

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

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

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

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

Тесты:

>>> main(('27', '125', '380', '43'))
'0xad7cfbb'

>>> main(('15', '111', '810', '34'))
'0x8b2adef'

>>> main(('1', '94', '775', '24'))
'0x6307bc1'

>>> main(('31', '89', '555', '6'))
'0x1a2bb3f'

Вариант №12

Задача №8

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

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

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

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

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

Тесты:

>>> main([('P1', 0), ('P2', 54), ('P3', 634), ('P4', 35)])
'0x473d0d8'

>>> main([('P1', 2), ('P2', 359), ('P3', 2), ('P4', 42)])
'0x540159e'

>>> main([('P1', 2), ('P2', 130), ('P3', 388), ('P4', 14)])
'0x1cc220a'

>>> main([('P1', 2), ('P2', 145), ('P3', 907), ('P4', 4)])
'0x9c5a46'

Вариант №13

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('0xbfc42')
1032280

>>> main('0x4a7a2')
327727

>>> main('0x8e3ae')
458823

>>> main('0x45828')
180256

Вариант №14

Задача №8

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

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

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

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

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

Тесты:

>>> main(('0x4', '0x10', '0x18b', '0x0', '0x2', '0x12'))
'0x1240c5a04'

>>> main(('0x1f', '0x27', '0x9f', '0x1e', '0x5', '0x68'))
'0x68be4fcff'

>>> main(('0x12', '0x30', '0x7c', '0x4', '0x2', '0x15'))
'0x15443e612'

>>> main(('0x1f', '0x3d', '0x6e', '0x1f', '0x0', '0x54'))
'0x541f377bf'

Вариант №15

Задача №8

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

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

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

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

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

Тесты:

>>> main('7434097390079')
'8765492813744'

>>> main('1243594126868')
'2864745275976'

>>> main('7754259807406')
'6452117714371'

>>> main('8381310694064')
'6705520336871'

Вариант №16

Задача №8

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

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

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

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

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

Тесты:

>>> main([('T1', '0x5'), ('T3', '0xc2'), ('T4', '0x3'), ('T5', '0xb'), ('T6', '0x2c')])
'0x165f8405'

>>> main([('T1', '0x7'), ('T3', '0xd3'), ('T4', '0x2'), ('T5', '0xf'), ('T6', '0x23')])
'0x11fda607'

>>> main([('T1', '0x6'), ('T3', '0xfc'), ('T4', '0x2'), ('T5', '0xd'), ('T6', '0x2f')])
'0x17edf806'

>>> main([('T1', '0x6'), ('T3', '0x42'), ('T4', '0x3'), ('T5', '0xe'), ('T6', '0x3c')])
'0x1e768406'

Вариант №17

Задача №8

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

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

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

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

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

Тесты:

>>> main('113913811')
[('I1', 3), ('I2', 0), ('I3', 506), ('I5', 0), ('I6', 54)]

>>> main('13642233')
[('I1', 1), ('I2', 0), ('I3', 319), ('I5', 1), ('I6', 6)]

>>> main('67544703')
[('I1', 3), ('I2', 1), ('I3', 207), ('I5', 0), ('I6', 32)]

>>> main('5713295')
[('I1', 3), ('I2', 1), ('I3', 433), ('I5', 1), ('I6', 2)]

Вариант №18

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main((151, 275, 55, 138, 0, 2))
18344776599

>>> main((35, 441, 29, 38, 3, 1))
15355066659

>>> main((0, 480, 54, 150, 1, 0))
3412975616

>>> main((89, 322, 43, 126, 3, 0))
7505134169

Вариант №19

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(359132)
('0x0', '0x6', '0x1', '0x1eb', '0x5')

>>> main(1257271)
('0x1', '0x3', '0x3', '0xbc', '0x13')

>>> main(2089739)
('0x1', '0x5', '0x0', '0x38c', '0x1f')

>>> main(1003136)
('0x0', '0x0', '0x0', '0x13a', '0xf')

Вариант №20

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(74806)
(54, 0, 73)

>>> main(121005)
(173, 0, 118)

>>> main(45049)
(249, 3, 43)

>>> main(349204)
(20, 0, 341)

Вариант №21

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(494152069)
[('L1', '5'), ('L2', '0'), ('L3', '0'), ('L4', '6'), ('L6', '942')]

>>> main(413917826)
[('L1', '2'), ('L2', '0'), ('L3', '0'), ('L4', '10'), ('L6', '789')]

>>> main(152814184)
[('L1', '8'), ('L2', '0'), ('L3', '1'), ('L4', '9'), ('L6', '291')]

>>> main(125417925)
[('L1', '5'), ('L2', '0'), ('L3', '0'), ('L4', '7'), ('L6', '239')]

Вариант №22

Задача №8

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

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

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

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

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

Тесты:

>>> main('2057931')
('0xb', '0x6', '0x3')

>>> main('3941802')
('0xa', '0xd', '0x7')

>>> main('3920955')
('0x1b', '0x1', '0x7')

>>> main('2360451')
('0x3', '0x4', '0x4')

Вариант №23

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x7fde')
('0x6', '0xb', '0x3f', '0x3')

>>> main('0x2798')
('0x0', '0x3', '0xf', '0x1')

>>> main('0x9833')
('0x3', '0x6', '0x30', '0x4')

>>> main('0xa3bb')
('0x3', '0x7', '0x7', '0x5')

Вариант №24

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x1464d48')
'16803136'

>>> main('0x52fa9d')
'16789077'

>>> main('0x8621c3')
'25219'

>>> main('0xae337f')
'16802479'

Вариант №25

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main(('119', '1', '1', '9'))
76054647

>>> main(('188', '7', '2', '85'))
714309820

>>> main(('96', '0', '12', '88'))
744489056

>>> main(('297', '7', '12', '74'))
627278121

Вариант №26

Задача №8

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

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

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

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

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

Тесты:

>>> main('0xc2b01d1f8')
(504, 384, 2, 97)

>>> main('0xad65ec8fd')
(253, 303, 5, 86)

>>> main('0xf64ea418a')
(394, 117, 1, 123)

>>> main('0x2b96cf15c')
(348, 182, 6, 21)

Вариант №27

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('0x16e0962')
542867756

>>> main('0xbfa1a5')
1076882484

>>> main('0x1f70888')
8241425

>>> main('0xa68e5d')
1076471243

Вариант №28

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(5754207155231)
[('Z1', '0x1f'), ('Z2', '0xd'), ('Z4', '0x2'), ('Z5', '0x3c'), ('Z6', '0xa7')]

>>> main(5367973316612)
[('Z1', '0x4'), ('Z2', '0x2'), ('Z4', '0x8'), ('Z5', '0x1d'), ('Z6', '0x9c')]

>>> main(2076247563550)
[('Z1', '0x11e'), ('Z2', '0x7'), ('Z4', '0x13'), ('Z5', '0x36'), ('Z6', '0x3c')]

>>> main(6332157458703)
[('Z1', '0x10f'), ('Z2', '0xe'), ('Z4', '0x3'), ('Z5', '0x25'), ('Z6', '0xb8')]

Вариант №29

Задача №8

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

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

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

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

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

Тесты:

>>> main([('P2', 0), ('P3', 813), ('P4', 2), ('P5', 1)])
'0xd9680'

>>> main([('P2', 6), ('P3', 750), ('P4', 0), ('P5', 1)])
'0x97760'

>>> main([('P2', 6), ('P3', 282), ('P4', 1), ('P5', 1)])
'0xa8d60'

>>> main([('P2', 4), ('P3', 7), ('P4', 3), ('P5', 0)])
'0x603c0'

Вариант №30

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(971771)
'977403'

>>> main(540674)
'532482'

>>> main(716315)
'718603'

>>> main(324067)
'309491'

Вариант №31

Задача №8

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

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

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

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

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

Тесты:

>>> main((25, 990, 18, 386))
'0x30412f799'

>>> main((26, 578, 91, 203))
'0x1965b909a'

>>> main((40, 16, 315, 306))
'0x2653b0428'

>>> main((32, 1008, 117, 125))
'0xfa75fc20'

Вариант №32

Задача №8

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

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

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

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

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

Тесты:

>>> main([('R1', '0x1ce'), ('R2', '0x3d'), ('R3', '0xd'), ('R5', '0x108'), ('R6', '0x4')])
'1170385435598'

>>> main([('R1', '0x19a'), ('R2', '0x31d'), ('R3', '0x8'), ('R5', '0x226'), ('R6', '0x0')])
'147644103578'

>>> main([('R1', '0x10b'), ('R2', '0x3c0'), ('R3', '0x0'), ('R5', '0x361'), ('R6', '0x1')])
'507075068171'

>>> main([('R1', '0x19d'), ('R2', '0x198'), ('R3', '0x9'), ('R5', '0x7b'), ('R6', '0x1')])
'307900395933'

Вариант №33

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main([('Q1', 147), ('Q2', 25), ('Q3', 735), ('Q4', 0)])
12055187

>>> main([('Q1', 176), ('Q2', 14), ('Q3', 630), ('Q4', 1)])
27106480

>>> main([('Q1', 85), ('Q2', 26), ('Q3', 250), ('Q4', 1)])
20886613

>>> main([('Q1', 372), ('Q2', 28), ('Q3', 971), ('Q4', 0)])
15923572

Вариант №34

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x3512b657')
('87', '694', '0', '212')

>>> main('0x3657a74d')
('77', '935', '0', '217')

>>> main('0xe5f848c')
('140', '900', '0', '57')

>>> main('0x6eaac54d')
('77', '709', '1', '442')

Вариант №35

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main(('0xc', '0x67', '0x24'))
75388

>>> main(('0x6', '0x4f', '0x20'))
66806

>>> main(('0x5', '0x56', '0x6'))
13669

>>> main(('0x6', '0xe', '0x12'))
37094

Вариант №36

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(3765173)
('949', '0', '5', '28', '0')

>>> main(48933134)
('270', '0', '2', '117', '1')

>>> main(16542729)
('9', '1', '1', '126', '0')

>>> main(65375641)
('409', '1', '6', '242', '1')

Вариант №37

Задача №8

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

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

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

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

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

Тесты:

>>> main('1012258892')
('0x4c', '0x18', '0x157', '0x78')

>>> main('90656600')
('0x58', '0xf', '0x19d', '0xa')

>>> main('916298050')
('0x42', '0x19', '0x76', '0x6d')

>>> main('69119119')
('0x8f', '0x2c', '0x7a', '0x8')

Вариант №38

Задача №8

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

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

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

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

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

Тесты:

>>> main(('1', '572', '5', '120'))
'0x3c2c79'

>>> main(('0', '798', '3', '28'))
'0xe1e3c'

>>> main(('1', '770', '6', '33'))
'0x10b605'

>>> main(('0', '34', '5', '6'))
'0x32844'

Вариант №39

Задача №8

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

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

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

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

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

Тесты:

>>> main(('0x9', '0x24', '0x94', '0x2', '0x3ec'))
'2106892873'

>>> main(('0xa', '0x41', '0xca', '0x0', '0x328'))
'1694913562'

>>> main(('0xb', '0x4b', '0x31', '0x0', '0x385'))
'1889635515'

>>> main(('0x4', '0x10', '0x30', '0x0', '0x1f3'))
'1046577412'

Вариант №40

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main(('0x5', '0x1', '0x1', '0x0', '0x21'))
16997

>>> main(('0x4', '0x1', '0x1', '0x1', '0x19'))
13156

>>> main(('0x2', '0x0', '0x2', '0x1', '0x16'))
11650

>>> main(('0x1d', '0x0', '0x2', '0x1', '0xe'))
7581