ИНБО-21-23

Вариант №1

Задача №8

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

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

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

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

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

Тесты:

>>> main({'B2': '0x0', 'B3': '0xd', 'B4': '0x8'})
'9024'

>>> main({'B2': '0x0', 'B3': '0x8', 'B4': '0x17'})
'24064'

>>> main({'B2': '0x1', 'B3': '0x8', 'B4': '0xe'})
'14880'

>>> main({'B2': '0x0', 'B3': '0xa', 'B4': '0x0'})
'640'

Вариант №2

Задача №8

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

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

Целое.

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

Целое.

Тесты:

>>> main(19657759)
13614857

>>> main(26582683)
23976364

>>> main(11744105)
22328021

>>> main(28766955)
22408893

Вариант №3

Задача №8

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

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

Целое.

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

Целое.

Тесты:

>>> main(89145159)
37740650

>>> main(126441732)
2216636

>>> main(26866342)
87208908

>>> main(7738566)
104115203

Вариант №4

Задача №8

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

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

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

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

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

Тесты:

>>> main({'N1': 13, 'N2': 289, 'N3': 0})
'0x121d'

>>> main({'N1': 11, 'N2': 427, 'N3': 19})
'0x27abb'

>>> main({'N1': 2, 'N2': 415, 'N3': 1})
'0x39f2'

>>> main({'N1': 13, 'N2': 51, 'N3': 10})
'0x1433d'

Вариант №5

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x523b6c5d')
'0x158b76ca4'

>>> main('0x4755bd6f')
'0x1fadab48e'

>>> main('0x1c2e5d548')
'0x2a9cbb85'

>>> main('0x7e556654')
'0x10caaacfc'

Вариант №6

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x25118b9d98')
('408', '462', '1', '3', '8', '74')

>>> main('0x37c48791ca')
('458', '968', '0', '1', '34', '111')

>>> main('0xc37e802fa')
('250', '1', '13', '3', '27', '24')

>>> main('0x299f3a5396')
('406', '297', '7', '2', '15', '83')

Вариант №7

Задача №8

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

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

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

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

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

Тесты:

>>> main((29, 82, 447))
'0x1bf00291d'

>>> main((11, 42, 395))
'0x18b00150b'

>>> main((25, 70, 81))
'0x51002319'

>>> main((104, 32, 149))
'0x95001068'

Вариант №8

Задача №8

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

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

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

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

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

Тесты:

>>> main([('W1', '0x3'), ('W2', '0x4'), ('W3', '0x3d'), ('W4', '0x5'), ('W5', '0x5'), ('W6', '0x5')])
'357857859'

>>> main([('W1', '0x9'), ('W2', '0x5'), ('W3', '0x1cb'), ('W4', '0x4'), ('W5', '0x7'), ('W6', '0x3')])
'231970393'

>>> main([('W1', '0x2'), ('W2', '0x7'), ('W3', '0xc2'), ('W4', '0x0'), ('W5', '0x5'), ('W6', '0x5')])
'356615282'

>>> main([('W1', '0x0'), ('W2', '0xa'), ('W3', '0xeb'), ('W4', '0x0'), ('W5', '0xf'), ('W6', '0x4')])
'331470496'

Вариант №9

Задача №8

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

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

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

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

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

Тесты:

>>> main({'T1': '0x5', 'T2': '0x2', 'T3': '0xc', 'T4': '0x7'})
'3989'

>>> main({'T1': '0x7', 'T2': '0x1', 'T3': '0xa', 'T4': '0x0'})
'335'

>>> main({'T1': '0x2', 'T2': '0x0', 'T3': '0x9', 'T4': '0x7'})
'3874'

>>> main({'T1': '0x4', 'T2': '0x3', 'T3': '0x4', 'T4': '0x6'})
'3228'

Вариант №10

Задача №8

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

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

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

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

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

Тесты:

>>> main({'I2': 0, 'I3': 322, 'I4': 528, 'I5': 0})
'553977856'

>>> main({'I2': 0, 'I3': 453, 'I4': 234, 'I5': 1})
'1319572480'

>>> main({'I2': 0, 'I3': 595, 'I4': 542, 'I5': 3})
'3790162944'

>>> main({'I2': 1, 'I3': 591, 'I4': 379, 'I5': 1})
'1471757824'

Вариант №11

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main({'W1': '0x1b', 'W2': '0x1', 'W3': '0x1d2', 'W4': '0x11', 'W5': '0x9'})
77845051

>>> main({'W1': '0x18', 'W2': '0x7', 'W3': '0x128', 'W4': '0x1d', 'W5': '0x1c'})
238758136

>>> main({'W1': '0x15', 'W2': '0x6', 'W3': '0xd9', 'W4': '0x19', 'W5': '0x6d'})
917690837

>>> main({'W1': '0x3', 'W2': '0x2', 'W3': '0x105', 'W4': '0x1b', 'W5': '0x65'})
850855235

Вариант №12

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(302666951)
{'M1': '7', 'M2': '6', 'M3': '84', 'M4': '5', 'M5': '72'}

>>> main(197930669)
{'M1': '13', 'M2': '5', 'M3': '46', 'M4': '6', 'M5': '47'}

>>> main(395336479)
{'M1': '31', 'M2': '0', 'M3': '91', 'M4': '8', 'M5': '94'}

>>> main(449609695)
{'M1': '31', 'M2': '6', 'M3': '127', 'M4': '6', 'M5': '107'}

Вариант №13

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x24316')
'0x18b48'

>>> main('0xf0799')
'0xfcce0'

>>> main('0x5f260')
'0x5303e'

>>> main('0x1eb54')
'0x1aa3d'

Вариант №14

Задача №8

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

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

Целое.

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

Целое.

Тесты:

>>> main(34224492)
7650944712

>>> main(169637116)
6981976001

>>> main(138945920)
4968228864

>>> main(77093461)
3490866513

Вариант №15

Задача №8

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

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

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

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

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

Тесты:

>>> main(('0x15d', '0x7f', '0x0'))
'0xff5d'

>>> main(('0x7b', '0x1', '0x1'))
'0x1027b'

>>> main(('0x188', '0x24', '0x0'))
'0x4988'

>>> main(('0x2f', '0x34', '0x0'))
'0x682f'

Вариант №16

Задача №8

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

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

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

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

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

Тесты:

>>> main({'B2': 1, 'B3': 22, 'B4': 60})
'62160'

>>> main({'B2': 1, 'B3': 15, 'B4': 9})
'9712'

>>> main({'B2': 0, 'B3': 31, 'B4': 38})
'39904'

>>> main({'B2': 1, 'B3': 24, 'B4': 15})
'16144'

Вариант №17

Задача №8

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

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

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

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

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

Тесты:

>>> main('43033')
('1', '0', '3', '0', '42')

>>> main('10183')
('1', '3', '0', '15', '9')

>>> main('2925')
('1', '2', '5', '13', '2')

>>> main('56656')
('0', '0', '2', '5', '55')

Вариант №18

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main({'J2': 2, 'J3': 3, 'J4': 409, 'J5': 10})
87239744

>>> main({'J2': 7, 'J3': 0, 'J4': 581, 'J5': 0})
4759776

>>> main({'J2': 3, 'J3': 4, 'J4': 667, 'J5': 4})
39022688

>>> main({'J2': 4, 'J3': 3, 'J4': 738, 'J5': 6})
56380544

Вариант №19

Задача №8

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

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

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

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

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

Тесты:

>>> main({'G2': 2, 'G3': 7, 'G4': 86, 'G5': 56, 'G6': 26})
'0x35c56f0'

>>> main({'G2': 2, 'G3': 3, 'G4': 60, 'G5': 21, 'G6': 13})
'0x1aabc70'

>>> main({'G2': 2, 'G3': 2, 'G4': 127, 'G5': 49, 'G6': 54})
'0x6d8ff50'

>>> main({'G2': 3, 'G3': 5, 'G4': 101, 'G5': 37, 'G6': 28})
'0x392e5b8'

Вариант №20

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main([('V1', 23), ('V2', 93), ('V3', 57), ('V4', 1), ('V5', 69)])
579811159

>>> main([('V1', 57), ('V2', 106), ('V3', 30), ('V4', 5), ('V5', 194)])
1630263993

>>> main([('V1', 27), ('V2', 42), ('V3', 57), ('V4', 12), ('V5', 449)])
3773246107

>>> main([('V1', 8), ('V2', 105), ('V3', 4), ('V4', 8), ('V5', 124)])
1044421192

Вариант №21

Задача №8

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

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

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

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

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

Тесты:

>>> main('0xda8893')
[('M2', '0x24'), ('M3', '0x22'), ('M4', '0x6d')]

>>> main('0x9603e4')
[('M2', '0xf9'), ('M3', '0x0'), ('M4', '0x4b')]

>>> main('0xa49c7b')
[('M2', '0x1e'), ('M3', '0x27'), ('M4', '0x52')]

>>> main('0x1d20173')
[('M2', '0x5c'), ('M3', '0x0'), ('M4', '0xe9')]

Вариант №22

Задача №8

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

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

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

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

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

Тесты:

>>> main([('T1', '0x120'), ('T2', '0x24'), ('T3', '0x9e'), ('T4', '0x3a6')])
'7840155936'

>>> main([('T1', '0x13e'), ('T2', '0xf'), ('T3', '0xf8'), ('T4', '0x2ad')])
'5754330942'

>>> main([('T1', '0x1c8'), ('T2', '0xd'), ('T3', '0x54'), ('T4', '0x309')])
'6520708040'

>>> main([('T1', '0x141'), ('T2', '0x6'), ('T3', '0x34'), ('T4', '0x2ad')])
'5747903809'

Вариант №23

Задача №8

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

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

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

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

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

Тесты:

>>> main('1914865')
{'G1': '113', 'G2': '1', 'G3': '311', 'G4': '14'}

>>> main('2002682')
{'G1': '122', 'G2': '1', 'G3': '142', 'G4': '15'}

>>> main('391594')
{'G1': '42', 'G2': '1', 'G3': '505', 'G4': '2'}

>>> main('2620896')
{'G1': '96', 'G2': '1', 'G3': '509', 'G4': '19'}

Вариант №24

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x145bb0')
[('Q1', 0), ('Q2', 374), ('Q3', 325)]

>>> main('0x1012d9')
[('Q1', 1), ('Q2', 91), ('Q3', 257)]

>>> main('0x3bd0a')
[('Q1', 2), ('Q2', 417), ('Q3', 59)]

>>> main('0x6d786')
[('Q1', 6), ('Q2', 240), ('Q3', 109)]

Вариант №25

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(80414)
[('R1', 0), ('R2', 271), ('R4', 0)]

>>> main(81170)
[('R1', 0), ('R2', 137), ('R4', 0)]

>>> main(61407)
[('R1', 1), ('R2', 495), ('R4', 0)]

>>> main(105717)
[('R1', 1), ('R2', 122), ('R4', 0)]

Вариант №26

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main(('40', '313', '11', '44', '7'))
1972083880

>>> main(('95', '424', '18', '102', '28'))
7731336287

>>> main(('7', '218', '31', '126', '41'))
11272154375

>>> main(('104', '177', '24', '103', '5'))
1559779560

Вариант №27

Задача №8

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

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

Целое.

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

Целое.

Тесты:

>>> main(188286961033)
422164575797

>>> main(521202402268)
511611506838

>>> main(324905013266)
19642486505

>>> main(1054426443007)
274835269024

Вариант №28

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main((2, 4, 3, 15))
1966498

>>> main((6, 0, 2, 16))
2097414

>>> main((4, 4, 3, 22))
2884004

>>> main((7, 10, 1, 20))
2621655

Вариант №29

Задача №8

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

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

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

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

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

Тесты:

>>> main('84430555')
('0x1', '0x13', '0x4', '0x50')

>>> main('86283579')
('0x0', '0x25', '0x2', '0x52')

>>> main('14146731')
('0x0', '0x77', '0x3', '0xd')

>>> main('90256433')
('0x0', '0x4d', '0x0', '0x56')

Вариант №30

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main(('0xe8', '0x2', '0x381', '0x1'))
31475944

>>> main(('0x2b1', '0x6', '0x20d', '0x0'))
8608433

>>> main(('0x22a', '0x5', '0xff', '0x0'))
4183594

>>> main(('0x99', '0x9', '0x255', '0x1'))
26567833

Вариант №31

Задача №8

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

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

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

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

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

Тесты:

>>> main('0xbab637f2')
'8358681274'

>>> main('0x13f5c9028')
'680636220'

>>> main('0x47c1be2b')
'733995077'

>>> main('0x101f2ff9c')
'6928922882'

Вариант №32

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('1512260296')
6720138498

>>> main('3167248508')
4179713632

>>> main('2480512120')
4050012636

>>> main('5501315714')
4389184490

Вариант №33

Задача №8

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

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

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

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

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

Тесты:

>>> main('52336474558643')
{'X2': '16', 'X3': '38', 'X4': '143', 'X5': '152', 'X6': '761'}

>>> main('38944745003168')
{'X2': '24', 'X3': '4', 'X4': '123', 'X5': '184', 'X6': '566'}

>>> main('12374824624788')
{'X2': '34', 'X3': '26', 'X4': '208', 'X5': '19', 'X6': '180'}

>>> main('26474660628985')
{'X2': '9', 'X3': '56', 'X4': '203', 'X5': '65', 'X6': '385'}

Вариант №34

Задача №8

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

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

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

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

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

Тесты:

>>> main({'N1': '2', 'N3': '6', 'N4': '140', 'N5': '5'})
'11638786'

>>> main({'N1': '3', 'N3': '5', 'N4': '90', 'N5': '13'})
'28005379'

>>> main({'N1': '3', 'N3': '7', 'N4': '175', 'N5': '11'})
'24509443'

>>> main({'N1': '3', 'N3': '4', 'N4': '117', 'N5': '7'})
'15642627'

Вариант №35

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('1398478')
2844458

>>> main('7952582')
2909170

>>> main('1813634')
5652790

>>> main('3345247')
372582

Вариант №36

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main(('0x1', '0x0', '0x7', '0xd3', '0xad'))
2916290049

>>> main(('0x4', '0xe', '0x0', '0xb5', '0x6b'))
1807024356

>>> main(('0xf', '0x1f', '0x8', '0x83', '0xc4'))
3296924159

>>> main(('0x7', '0x2', '0xa', '0xbd', '0x3f'))
1069356071

Вариант №37

Задача №8

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

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

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

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

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

Тесты:

>>> main('519066090')
(42, 7, 8, 1, 224, 61)

>>> main('883443298')
(34, 1, 3, 1, 80, 105)

>>> main('284243122')
(50, 2, 26, 0, 226, 33)

>>> main('290704013')
(13, 2, 5, 1, 167, 34)

Вариант №38

Задача №8

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

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

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

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

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

Тесты:

>>> main(('0x7e', '0x0', '0x0', '0x3', '0x240'))
'37755006'

>>> main(('0x1b2', '0x0', '0x1', '0x15', '0x1af'))
'28290482'

>>> main(('0xd5', '0x1', '0x1', '0x12', '0x3d5'))
'64329429'

>>> main(('0x13c', '0x1', '0x0', '0xb', '0x2b'))
'2841404'

Вариант №39

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main([('Q1', '0x9'), ('Q3', '0x359'), ('Q4', '0x5d'), ('Q5', '0x14'), ('Q6', '0x3')])
423447859209

>>> main([('Q1', '0x6'), ('Q3', '0x37e'), ('Q4', '0x72'), ('Q5', '0x7a'), ('Q6', '0x2')])
340857970694

>>> main([('Q1', '0x16'), ('Q3', '0x14f'), ('Q4', '0x32'), ('Q5', '0x5d'), ('Q6', '0x2')])
325017989142

>>> main([('Q1', '0x1f'), ('Q3', '0x181'), ('Q4', '0x68'), ('Q5', '0x8e'), ('Q6', '0x0')])
76673454111

Вариант №40

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main({'I1': '6', 'I3': '1', 'I4': '107', 'I5': '24'})
3255814

>>> main({'I1': '2', 'I3': '0', 'I4': '82', 'I5': '16'})
2181122

>>> main({'I1': '4', 'I3': '1', 'I4': '21', 'I5': '23'})
3036676

>>> main({'I1': '6', 'I3': '0', 'I4': '46', 'I5': '13'})
1751046