ИКБО-63-23

Вариант №1

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main(('0x0', '0x74', '0x20e', '0x108', '0x138'))
335561232104

>>> main(('0x1', '0x59', '0x256', '0x193', '0x119'))
302566758067

>>> main(('0x0', '0x49', '0x1fa', '0x5e', '0xe0'))
240715430546

>>> main(('0x1', '0x7', '0x130', '0x108', '0x13'))
20954820623

Вариант №2

Задача №8

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

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

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

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

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

Тесты:

>>> main({'X1': '243', 'X2': '10', 'X4': '3', 'X5': '1', 'X6': '0'})
'2304243'

>>> main({'X1': '463', 'X2': '15', 'X4': '7', 'X5': '1', 'X6': '1'})
'6766031'

>>> main({'X1': '90', 'X2': '9', 'X4': '5', 'X5': '1', 'X6': '0'})
'2434138'

>>> main({'X1': '317', 'X2': '12', 'X4': '29', 'X5': '0', 'X6': '0'})
'1913149'

Вариант №3

Задача №8

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

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

Целое.

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

Целое.

Тесты:

>>> main(2784345)
4074706

>>> main(3414137)
998560

>>> main(1233087)
614294

>>> main(433033)
836789

Вариант №4

Задача №8

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

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

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

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

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

Тесты:

>>> main({'G1': '0x2af', 'G2': '0x2', 'G3': '0x1b8', 'G4': '0x7', 'G5': '0x9'})
'2432404143'

>>> main({'G1': '0x277', 'G2': '0x3', 'G3': '0x7d', 'G4': '0x3e', 'G5': '0xd2'})
'56501984887'

>>> main({'G1': '0x3d8', 'G2': '0x0', 'G3': '0x1d4', 'G4': '0x1e', 'G5': '0x4b'})
'20197491672'

>>> main({'G1': '0x351', 'G2': '0x3', 'G3': '0x5b', 'G4': '0xe', 'G5': '0xb'})
'2982526801'

Вариант №5

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main([('H1', 3), ('H3', 61), ('H4', 14)])
3701251

>>> main([('H1', 0), ('H3', 318), ('H4', 8)])
2259968

>>> main([('H1', 3), ('H3', 450), ('H4', 8)])
2327555

>>> main([('H1', 3), ('H3', 409), ('H4', 22)])
5976579

Вариант №6

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(6879683641)
'2054047560'

>>> main(21581223463)
'11712189612'

>>> main(65394128110)
'61721525353'

>>> main(44481596334)
'45020326039'

Вариант №7

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(6760586630)
[('B1', '390'), ('B2', '7'), ('B3', '1'), ('B4', '379'), ('B5', '100')]

>>> main(27670774447)
[('B1', '687'), ('B2', '0'), ('B3', '2'), ('B4', '167'), ('B5', '412')]

>>> main(6876009702)
[('B1', '230'), ('B2', '5'), ('B3', '6'), ('B4', '235'), ('B5', '102')]

>>> main(1646668508)
[('B1', '732'), ('B2', '10'), ('B3', '0'), ('B4', '275'), ('B5', '24')]

Вариант №8

Задача №8

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

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

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

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

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

Тесты:

>>> main(('0x4', '0x59', '0xfe', '0x13'))
'0x9ff594'

>>> main(('0x9', '0x67', '0xb3', '0x19'))
'0xcd9e79'

>>> main(('0xe', '0x6', '0xb8', '0x11'))
'0x8dc06e'

>>> main(('0x6', '0x36', '0x2a', '0x23'))
'0x1195366'

Вариант №9

Задача №8

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

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

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

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

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

Тесты:

>>> main('3000662211')
('3', '0', '966', '180', '357')

>>> main('91327958')
('2', '5', '110', '227', '10')

>>> main('375493061')
('1', '1', '142', '195', '44')

>>> main('259077769')
('1', '2', '436', '226', '30')

Вариант №10

Задача №8

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

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

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

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

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

Тесты:

>>> main([('M1', '0x3f9'), ('M2', '0x49'), ('M4', '0x2')])
'1124345'

>>> main([('M1', '0x2eb'), ('M2', '0x45'), ('M4', '0x15')])
'11081451'

>>> main([('M1', '0x309'), ('M2', '0x54'), ('M4', '0x0')])
'86793'

>>> main([('M1', '0x70'), ('M2', '0x4d'), ('M4', '0xa')])
'5321840'

Вариант №11

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x157c0cc')
{'C1': 0, 'C2': 102, 'C4': 687}

>>> main('0x1277302')
{'C1': 0, 'C2': 385, 'C4': 590}

>>> main('0x1ff7903')
{'C1': 1, 'C2': 129, 'C4': 1022}

>>> main('0x1fc3215')
{'C1': 1, 'C2': 266, 'C4': 1016}

Вариант №12

Задача №8

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

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

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

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

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

Тесты:

>>> main([('U1', '0x0'), ('U3', '0x1'), ('U4', '0xb3'), ('U5', '0xd8'), ('U6', '0x1cb')])
'7714909384'

>>> main([('U1', '0x1'), ('U3', '0x2'), ('U4', '0x12d'), ('U5', '0x8c'), ('U6', '0x7c')])
'2089569105'

>>> main([('U1', '0x1'), ('U3', '0x1'), ('U4', '0x79'), ('U5', '0x89'), ('U6', '0x25a')])
'10108870217'

>>> main([('U1', '0x1'), ('U3', '0x2'), ('U4', '0x32'), ('U5', '0xf9'), ('U6', '0x29e')])
'11257056401'

Вариант №13

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x6a0c3fa')
('15', '6', '53')

>>> main('0x35183351')
('77', '193', '424')

>>> main('0x30a0c257')
('9', '6', '389')

>>> main('0x2f43b1f0')
('71', '29', '378')

Вариант №14

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('0xc0fce89')
42985153

>>> main('0x1863a449')
407491457

>>> main('0xb66e704')
453210804

>>> main('0xd54524a')
373958866

Вариант №15

Задача №8

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

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

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

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

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

Тесты:

>>> main([('Q1', 14), ('Q2', 363), ('Q3', 15), ('Q4', 10), ('Q5', 18)])
'156740974'

>>> main([('Q1', 12), ('Q2', 876), ('Q3', 6), ('Q4', 4), ('Q5', 10)])
'86207884'

>>> main([('Q1', 17), ('Q2', 971), ('Q3', 0), ('Q4', 5), ('Q5', 25)])
'212367729'

>>> main([('Q1', 22), ('Q2', 94), ('Q3', 14), ('Q4', 11), ('Q5', 6)])
'56560598'

Вариант №16

Задача №8

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

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

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

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

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

Тесты:

>>> main([('W1', 60), ('W2', 43), ('W3', 1), ('W4', 253), ('W5', 6)])
'0x1bf6afc'

>>> main([('W1', 33), ('W2', 22), ('W3', 0), ('W4', 192), ('W5', 7)])
'0x1f005a1'

>>> main([('W1', 18), ('W2', 124), ('W3', 1), ('W4', 0), ('W5', 15)])
'0x3c03f12'

>>> main([('W1', 33), ('W2', 11), ('W3', 1), ('W4', 75), ('W5', 15)])
'0x3d2e2e1'

Вариант №17

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(1586828)
{'D1': '0xc', 'D3': '0x1', 'D4': '0x41', 'D5': '0x1'}

>>> main(1330894)
{'D1': '0xe', 'D3': '0x0', 'D4': '0x22', 'D5': '0x1'}

>>> main(615869)
{'D1': '0xd', 'D3': '0x0', 'D4': '0x4b', 'D5': '0x0'}

>>> main(2092875)
{'D1': '0xb', 'D3': '0x0', 'D4': '0x7f', 'D5': '0x1'}

Вариант №18

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('92764505')
72719845

>>> main('46982617')
103650199

>>> main('70318305')
29496291

>>> main('30814755')
110508232

Вариант №19

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main([('N1', '0x1b9'), ('N2', '0x3'), ('N3', '0x4')])
34745

>>> main([('N1', '0x50'), ('N2', '0xb'), ('N3', '0x22')])
284240

>>> main([('N1', '0x14a'), ('N2', '0x0'), ('N3', '0x39')])
467274

>>> main([('N1', '0x87'), ('N2', '0x9'), ('N3', '0x9')])
78471

Вариант №20

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('0x17b3dc0d60')
3520966496

>>> main('0x1849cb9005')
107404210325

>>> main('0x357a30829')
70894388905

>>> main('0x1dee66fd50')
67920952272

Вариант №21

Задача №8

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

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

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

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

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

Тесты:

>>> main(('2', '2', '9', '2', '0'))
'1178'

>>> main(('3', '1', '6', '2', '0'))
'1127'

>>> main(('1', '0', '9', '0', '1'))
'8337'

>>> main(('0', '0', '18', '4', '0'))
'2336'

Вариант №22

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('4037262925')
5502108161

>>> main('5821590764')
8529564675

>>> main('3847397589')
2768710145

>>> main('5734920215')
7105326083

Вариант №23

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(266271014)
'0x74de5bd'

>>> main(42239373)
'0x11a1709'

>>> main(1041553)
'0x23921f'

>>> main(113536309)
'0x36bb588'

Вариант №24

Задача №8

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

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

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

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

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

Тесты:

>>> main('5862543810')
'0x217526aeb'

>>> main('17100298829')
'0x269d89fda'

>>> main('6299877917')
'0xe8808bbc'

>>> main('9898086252')
'0x360cfd26f'

Вариант №25

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x6ec0320')
[('E1', '0x0'), ('E2', '0xc8'), ('E3', '0x0'), ('E5', '0x6e'), ('E6', '0x0')]

>>> main('0x4f63f0a')
[('E1', '0x2'), ('E2', '0xc2'), ('E3', '0x7'), ('E5', '0x4f'), ('E6', '0x0')]

>>> main('0x5b380b5')
[('E1', '0x1'), ('E2', '0x2d'), ('E3', '0x0'), ('E5', '0x5b'), ('E6', '0x0')]

>>> main('0x898fa6f')
[('E1', '0x3'), ('E2', '0x9b'), ('E3', '0x6'), ('E5', '0x9'), ('E6', '0x1')]

Вариант №26

Задача №8

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

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

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

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

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

Тесты:

>>> main([('B2', '0x3c'), ('B3', '0x0'), ('B4', '0xf9'), ('B5', '0x1c'), ('B6', '0x3')])
'0xf9f2780'

>>> main([('B2', '0x2a'), ('B3', '0x3'), ('B4', '0xdd'), ('B5', '0x5'), ('B6', '0x2')])
'0x8bbbd40'

>>> main([('B2', '0x15'), ('B3', '0x1'), ('B4', '0x6c'), ('B5', '0x19'), ('B6', '0x3')])
'0xf2d8aa0'

>>> main([('B2', '0x14'), ('B3', '0x3'), ('B4', '0x30'), ('B5', '0x1f'), ('B6', '0x1')])
'0x7e61a80'

Вариант №27

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x960440')
[('D1', '64'), ('D2', '1'), ('D3', '300')]

>>> main('0x60223a')
[('D1', '570'), ('D2', '8'), ('D3', '192')]

>>> main('0xe168ba')
[('D1', '186'), ('D2', '26'), ('D3', '450')]

>>> main('0xf473ad')
[('D1', '941'), ('D2', '28'), ('D3', '488')]

Вариант №28

Задача №8

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

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

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

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

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

Тесты:

>>> main('28856433')
{'J1': '0x11', 'J3': '0x0', 'J4': '0xe1', 'J5': '0x6'}

>>> main('2965163')
{'J1': '0xb', 'J3': '0x1', 'J4': '0xb4', 'J5': '0x0'}

>>> main('15313790')
{'J1': '0x1e', 'J3': '0x1', 'J4': '0xa6', 'J5': '0x3'}

>>> main('27830527')
{'J1': '0x1f', 'J3': '0x1', 'J4': '0xa2', 'J5': '0x6'}

Вариант №29

Задача №8

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

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

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

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

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

Тесты:

>>> main([('F2', '6'), ('F3', '219'), ('F4', '27')])
'28760160'

>>> main([('F2', '47'), ('F3', '291'), ('F4', '20')])
'21568240'

>>> main([('F2', '41'), ('F3', '355'), ('F4', '31')])
'33233552'

>>> main([('F2', '96'), ('F3', '59'), ('F4', '76')])
'79814144'

Вариант №30

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x43a1d')
{'T1': '0x1d', 'T2': '0x1d', 'T3': '0x0', 'T4': '0x1'}

>>> main('0xd5e3b')
{'T1': '0x3b', 'T2': '0x2f', 'T3': '0x2', 'T4': '0x3'}

>>> main('0x3bf19')
{'T1': '0x119', 'T2': '0x1f', 'T3': '0x7', 'T4': '0x0'}

>>> main('0x42342')
{'T1': '0x142', 'T2': '0x11', 'T3': '0x0', 'T4': '0x1'}

Вариант №31

Задача №8

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

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

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

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

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

Тесты:

>>> main((214, 84, 415, 245, 3, 282))
'0x234deb9f54d6'

>>> main((98, 235, 51, 305, 5, 466))
'0x3a566233eb62'

>>> main((25, 40, 128, 431, 0, 374))
'0x2ec35e802819'

>>> main((196, 202, 50, 249, 0, 366))
'0x2dc1f232cac4'

Вариант №32

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main([('D1', 3), ('D2', 0), ('D4', 518), ('D5', 411), ('D6', 203)])
54708145155

>>> main([('D1', 0), ('D2', 5), ('D4', 543), ('D5', 231), ('D6', 419)])
112595844648

>>> main([('D1', 6), ('D2', 3), ('D4', 479), ('D5', 28), ('D6', 193)])
51822968350

>>> main([('D1', 0), ('D2', 0), ('D4', 918), ('D5', 269), ('D6', 46)])
12489534464

Вариант №33

Задача №8

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

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

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

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

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

Тесты:

>>> main('242972127')
[('N1', '0x1df'), ('N2', '0x1'), ('N3', '0x37'), ('N4', '0xf'), ('N5', '0x0'), ('N6', '0x7')]

>>> main('742759405')
[('N1', '0x3ed'), ('N2', '0x2'), ('N3', '0x59'), ('N4', '0x8'), ('N5', '0x0'), ('N6', '0x16')]

>>> main('982615843')
[('N1', '0x323'), ('N2', '0x1'), ('N3', '0x18'), ('N4', '0x2'), ('N5', '0x1'), ('N6', '0x1d')]

>>> main('346434113')
[('N1', '0x241'), ('N2', '0x2'), ('N3', '0x62'), ('N4', '0x4'), ('N5', '0x1'), ('N6', '0xa')]

Вариант №34

Задача №8

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

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

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

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

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

Тесты:

>>> main([('N1', 2), ('N2', 20), ('N3', 458), ('N5', 165)])
'22146159778'

>>> main([('N1', 5), ('N2', 4), ('N3', 55), ('N5', 190)])
'25501396517'

>>> main([('N1', 2), ('N2', 63), ('N3', 408), ('N5', 524)])
'70330298874'

>>> main([('N1', 3), ('N2', 32), ('N3', 218), ('N5', 115)])
'15435150595'

Вариант №35

Задача №8

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

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

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

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

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

Тесты:

>>> main([('Q1', '0x6'), ('Q2', '0x2'), ('Q3', '0x37'), ('Q4', '0x2b'), ('Q5', '0x1'), ('Q6', '0x1f')])
'16604918'

>>> main([('Q1', '0x0'), ('Q2', '0x0'), ('Q3', '0x1b'), ('Q4', '0x40'), ('Q5', '0x1'), ('Q6', '0x22')])
'18219872'

>>> main([('Q1', '0x4'), ('Q2', '0x0'), ('Q3', '0x3b'), ('Q4', '0x4e'), ('Q5', '0x1'), ('Q6', '0x14')])
'10909540'

>>> main([('Q1', '0x6'), ('Q2', '0x3'), ('Q3', '0x17'), ('Q4', '0x74'), ('Q5', '0x0'), ('Q6', '0x22')])
'18064126'

Вариант №36

Задача №8

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

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

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

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

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

Тесты:

>>> main('898163573865')
[('T1', '0x69'), ('T2', '0x108'), ('T3', '0xb8'), ('T4', '0xf'), ('T5', '0x1'), ('T6', '0x34')]

>>> main('1083821605780')
[('T1', '0x14'), ('T2', '0x87'), ('T3', '0xcd'), ('T4', '0x2c'), ('T5', '0x0'), ('T6', '0x3f')]

>>> main('516229643331')
[('T1', '0x43'), ('T2', '0x78'), ('T3', '0x1af'), ('T4', '0x18'), ('T5', '0x0'), ('T6', '0x1e')]

>>> main('1916577210415')
[('T1', '0x2f'), ('T2', '0xc0'), ('T3', '0xe7'), ('T4', '0x1e'), ('T5', '0x2'), ('T6', '0x6f')]

Вариант №37

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('0x1cfdff5d5')
8046730741

>>> main('0xc41bbcc')
1075559628

>>> main('0xae879a98')
2237508056

>>> main('0xd88f2978')
2377291672

Вариант №38

Задача №8

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

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

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

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

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

Тесты:

>>> main('476653')
'0xbdb43'

>>> main('483942')
'0x4cd63'

>>> main('745244')
'0xe395d'

>>> main('809581')
'0x4da5e'

Вариант №39

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x11c725c')
('0', '302', '142', '3', '4')

>>> main('0x4f8ce91')
('1', '840', '25', '7', '19')

>>> main('0x9b611fb')
('1', '253', '194', '6', '38')

>>> main('0xf6b9a3')
('1', '209', '215', '6', '3')

Вариант №40

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main(('15', '62', '0'))
1007

>>> main(('4', '45', '0'))
724

>>> main(('7', '87', '1'))
3447

>>> main(('10', '97', '0'))
1562