ИКБО-34-22

Вариант №1

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x66333abed')
[('Y1', 1005), ('Y2', 234), ('Y3', 204), ('Y4', 152), ('Y5', 1)]

>>> main('0xc0c6806a5')
[('Y1', 677), ('Y2', 1), ('Y3', 26), ('Y4', 3), ('Y5', 3)]

>>> main('0xca09c2108')
[('Y1', 264), ('Y2', 8), ('Y3', 39), ('Y4', 40), ('Y5', 3)]

>>> main('0xbd35fd0b4')
[('Y1', 180), ('Y2', 244), ('Y3', 215), ('Y4', 244), ('Y5', 2)]

Вариант №2

Задача №8

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

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

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

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

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

Тесты:

>>> main({'I1': '8', 'I2': '1', 'I4': '242', 'I5': '12'})
'0x33c8018'

>>> main({'I1': '12', 'I2': '1', 'I4': '164', 'I5': '3'})
'0xe9001c'

>>> main({'I1': '3', 'I2': '1', 'I4': '184', 'I5': '10'})
'0x2ae0013'

>>> main({'I1': '1', 'I2': '0', 'I4': '88', 'I5': '8'})
'0x2160001'

Вариант №3

Задача №8

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

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

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

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

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

Тесты:

>>> main({'Z1': '0x0', 'Z2': '0x63', 'Z3': '0x1ae', 'Z4': '0x1'})
'482502'

>>> main({'Z1': '0x1', 'Z2': '0xfb', 'Z3': '0x1ee', 'Z4': '0x1'})
'515575'

>>> main({'Z1': '0x1', 'Z2': '0x5f', 'Z3': '0x1a6', 'Z4': '0x1'})
'478399'

>>> main({'Z1': '0x1', 'Z2': '0x18', 'Z3': '0x1db', 'Z4': '0x1'})
'505393'

Вариант №4

Задача №8

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

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

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

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

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

Тесты:

>>> main('8981859')
{'W1': '0x3', 'W2': '0x2c', 'W4': '0x112'}

>>> main('11251837')
{'W1': '0x5', 'W2': '0xf', 'W4': '0x157'}

>>> main('13189945')
{'W1': '0x1', 'W2': '0x27', 'W4': '0x192'}

>>> main('16572399')
{'W1': '0x7', 'W2': '0x3d', 'W4': '0x1f9'}

Вариант №5

Задача №8

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

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

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

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

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

Тесты:

>>> main('144760769')
{'D1': '65', 'D2': '63', 'D4': '276', 'D5': '0'}

>>> main('6524527')
{'D1': '111', 'D2': '28', 'D4': '12', 'D5': '0'}

>>> main('462555001')
{'D1': '121', 'D2': '14', 'D4': '370', 'D5': '1'}

>>> main('280079108')
{'D1': '4', 'D2': '86', 'D4': '22', 'D5': '1'}

Вариант №6

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main([('T1', 320), ('T2', 367), ('T3', 31), ('T4', 230)])
15443353408

>>> main([('T1', 223), ('T2', 392), ('T3', 124), ('T4', 5)])
368251103

>>> main([('T1', 376), ('T2', 181), ('T3', 3), ('T4', 415)])
27851058040

>>> main([('T1', 177), ('T2', 115), ('T3', 117), ('T4', 295)])
19827844785

Вариант №7

Задача №8

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

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

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

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

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

Тесты:

>>> main({'H1': 1, 'H2': 1, 'H3': 0, 'H4': 1, 'H5': 80})
'5155'

>>> main({'H1': 0, 'H2': 1, 'H3': 5, 'H4': 0, 'H5': 926})
'59286'

>>> main({'H1': 0, 'H2': 0, 'H3': 7, 'H4': 0, 'H5': 598})
'38300'

>>> main({'H1': 1, 'H2': 1, 'H3': 3, 'H4': 0, 'H5': 494})
'31631'

Вариант №8

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('0x1b1dac5a')
363933038

>>> main('0x313d2950')
387164264

>>> main('0x2018b95e')
503426884

>>> main('0x21693b4')
136436277

Вариант №9

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(244976069)
{'K1': '197', 'K2': '1', 'K3': '4', 'K4': '4', 'K5': '467'}

>>> main(145371679)
{'K1': '31', 'K2': '0', 'K3': '25', 'K4': '4', 'K5': '277'}

>>> main(308150650)
{'K1': '122', 'K2': '1', 'K3': '0', 'K4': '12', 'K5': '587'}

>>> main(292761190)
{'K1': '102', 'K2': '0', 'K3': '23', 'K4': '6', 'K5': '558'}

Вариант №10

Задача №8

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

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

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

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

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

Тесты:

>>> main([('M1', '11'), ('M2', '88'), ('M3', '261'), ('M4', '1'), ('M5', '1')])
'6827403'

>>> main([('M1', '14'), ('M2', '37'), ('M3', '1013'), ('M4', '1'), ('M5', '1')])
'8366686'

>>> main([('M1', '13'), ('M2', '46'), ('M3', '7'), ('M4', '1'), ('M5', '3')])
'14695149'

>>> main([('M1', '6'), ('M2', '41'), ('M3', '867'), ('M4', '1'), ('M5', '0')])
'3873430'

Вариант №11

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(4912)
('0', '102', '0')

>>> main(18604)
('4', '277', '2')

>>> main(3366)
('6', '420', '0')

>>> main(28547)
('3', '496', '3')

Вариант №12

Задача №8

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

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

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

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

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

Тесты:

>>> main('4965')
{'J1': '5', 'J2': '0', 'J3': '310', 'J5': '0'}

>>> main('116151')
{'J1': '7', 'J2': '0', 'J3': '91', 'J5': '7'}

>>> main('41663')
{'J1': '7', 'J2': '1', 'J3': '43', 'J5': '2'}

>>> main('22045')
{'J1': '5', 'J2': '1', 'J3': '353', 'J5': '1'}

Вариант №13

Задача №8

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

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

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

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

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

Тесты:

>>> main(('2', '1', '18', '455', '493'))
'1035759766'

>>> main(('0', '1', '59', '433', '348'))
'731582940'

>>> main(('2', '0', '456', '282', '407'))
'854699586'

>>> main(('3', '1', '318', '276', '190'))
'399591927'

Вариант №14

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(89542)
[('C1', '198'), ('C2', '93'), ('C3', '1'), ('C4', '0')]

>>> main(1040156)
[('C1', '28'), ('C2', '223'), ('C3', '1'), ('C4', '7')]

>>> main(1654757)
[('C1', '229'), ('C2', '63'), ('C3', '1'), ('C4', '12')]

>>> main(380142)
[('C1', '238'), ('C2', '204'), ('C3', '1'), ('C4', '2')]

Вариант №15

Задача №8

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

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

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

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

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

Тесты:

>>> main('475384436')
[('K2', '0x53'), ('K3', '0x2ae'), ('K4', '0x0'), ('K5', '0x1c')]

>>> main('849365610')
[('K2', '0x53'), ('K3', '0x102'), ('K4', '0x1'), ('K5', '0x32')]

>>> main('178162498')
[('K2', '0x5a'), ('K3', '0xf4'), ('K4', '0x1'), ('K5', '0xa')]

>>> main('709883241')
[('K2', '0xab'), ('K3', '0x27f'), ('K4', '0x0'), ('K5', '0x2a')]

Вариант №16

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x521c8c9c')
{'P1': '28', 'P3': '2', 'P4': '135', 'P5': '20', 'P6': '0'}

>>> main('0x1cb80e668')
{'P1': '8', 'P3': '3', 'P4': '224', 'P5': '18', 'P6': '3'}

>>> main('0xe64df459')
{'P1': '25', 'P3': '7', 'P4': '147', 'P5': '25', 'P6': '1'}

>>> main('0xa455e428')
{'P1': '8', 'P3': '7', 'P4': '21', 'P5': '9', 'P6': '1'}

Вариант №17

Задача №8

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

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

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

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

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

Тесты:

>>> main([('Z1', 422), ('Z2', 1), ('Z3', 3), ('Z4', 264)])
'0x421da6'

>>> main([('Z1', 702), ('Z2', 0), ('Z3', 5), ('Z4', 411)])
'0x66eabe'

>>> main([('Z1', 200), ('Z2', 1), ('Z3', 6), ('Z4', 298)])
'0x4ab4c8'

>>> main([('Z1', 791), ('Z2', 1), ('Z3', 0), ('Z4', 397)])
'0x634717'

Вариант №18

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x1b03')
'0x104d'

>>> main('0x5831')
'0x162c'

>>> main('0x50d8')
'0xb28'

>>> main('0x3102')
'0x58'

Вариант №19

Задача №8

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

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

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

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

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

Тесты:

>>> main('247647057437')
('0x1d', '0x11b', '0xd', '0x51', '0xe6')

>>> main('206977847422')
('0x7e', '0x3a8', '0xa', '0x61', '0xc0')

>>> main('124564089261')
('0x1ad', '0x94', '0x3', '0x1', '0x74')

>>> main('87563568765')
('0x7d', '0x103', '0x6', '0x46', '0x51')

Вариант №20

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main('115690877016')
238371047096

>>> main('122091839594')
234076153616

>>> main('66556242096')
272731145172

>>> main('249491185859')
47245442704

Вариант №21

Задача №8

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

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

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

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

Целое.

Тесты:

>>> main({'U1': '0x51', 'U2': '0x4', 'U3': '0x13', 'U4': '0x26', 'U5': '0x0', 'U6': '0xcc'})
219123336273

>>> main({'U1': '0x76', 'U2': '0x6', 'U3': '0x1e', 'U4': '0x32', 'U5': '0x0', 'U6': '0x76'})
126806886006

>>> main({'U1': '0xe', 'U2': '0x1d', 'U3': '0x50', 'U4': '0x9', 'U5': '0x1', 'U6': '0x7e'})
135445880078

>>> main({'U1': '0xbc', 'U2': '0x30', 'U3': '0x72', 'U4': '0x2f', 'U5': '0x7', 'U6': '0x4e'})
84791832764

Вариант №22

Задача №8

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

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

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

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

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

Тесты:

>>> main('203299')
{'D1': 35, 'D2': 4, 'D3': 198}

>>> main('226953')
{'D1': 9, 'D2': 5, 'D3': 221}

>>> main('74210')
{'D1': 98, 'D2': 3, 'D3': 72}

>>> main('78281')
{'D1': 73, 'D2': 3, 'D3': 76}

Вариант №23

Задача №8

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

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

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

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

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

Тесты:

>>> main(('293', '0', '30', '2', '0'))
'0x27824a00'

>>> main(('955', '0', '2', '3', '1'))
'0x70877600'

>>> main(('46', '1', '47', '0', '2'))
'0x8bc85c00'

>>> main(('537', '5', '38', '2', '2'))
'0xa9ac3200'

Вариант №24

Задача №8

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

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

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

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

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

Тесты:

>>> main('2244328965')
{'B1': '5', 'B2': '446', 'B3': '369', 'B4': '16', 'B5': '0'}

>>> main('19545859601')
{'B1': '17', 'B2': '550', 'B3': '321', 'B4': '17', 'B5': '1'}

>>> main('6992246256')
{'B1': '240', 'B2': '309', 'B3': '49', 'B4': '52', 'B5': '0'}

>>> main('25925754929')
{'B1': '49', 'B2': '928', 'B3': '82', 'B4': '65', 'B5': '1'}

Вариант №25

Задача №8

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

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

Целое.

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

Целое.

Тесты:

>>> main(4141360)
6694415

>>> main(5545466)
1294165

>>> main(149941)
4798112

>>> main(8220483)
3008639

Вариант №26

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(252098447085)
'0x5da8dd682c'

>>> main(175048496602)
'0x3b46d460b0'

>>> main(81360504146)
'0x2a45c9763c'

>>> main(247151319826)
'0x624d5ceec2'

Вариант №27

Задача №8

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

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

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

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

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

Тесты:

>>> main('13138118411')
'0x38a1c3e3b'

>>> main('1355152444')
'0x62714fe4'

>>> main('4414929661')
'0x393f413d5'

>>> main('4955489966')
'0x3af549636'

Вариант №28

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(487749980398)
'430172256568'

>>> main(731528724634)
'88214760533'

>>> main(157943474311)
'763038406930'

>>> main(165153914425)
'673285990291'

Вариант №29

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(4768292996065)
[('X1', '0x3e1'), ('X2', '0x0'), ('X3', '0x10'), ('X4', '0x28d'), ('X5', '0xb1'), ('X6', '0x11')]

>>> main(33332709946194)
[('X1', '0x352'), ('X2', '0x0'), ('X3', '0x5f'), ('X4', '0xa'), ('X5', '0x87'), ('X6', '0x79')]

>>> main(46246642484316)
[('X1', '0x5c'), ('X2', '0x1'), ('X3', '0x28'), ('X4', '0x56'), ('X5', '0x7d'), ('X6', '0xa8')]

>>> main(64743688638420)
[('X1', '0x3d4'), ('X2', '0x3'), ('X3', '0x0'), ('X4', '0x212'), ('X5', '0x112'), ('X6', '0xeb')]

Вариант №30

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x2f94cf')
(1, 7, 19, 2, 31, 1)

>>> main('0xe4241')
(1, 0, 9, 8, 28, 0)

>>> main('0x38a28d')
(1, 6, 10, 4, 49, 1)

>>> main('0x1be6c2')
(0, 1, 27, 12, 55, 0)

Вариант №31

Задача №8

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

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

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

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

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

Тесты:

>>> main({'Q1': '0', 'Q2': '57', 'Q3': '24', 'Q4': '60', 'Q5': '92', 'Q6': '11'})
'0x2d70f30e4'

>>> main({'Q1': '0', 'Q2': '24', 'Q3': '14', 'Q4': '82', 'Q5': '11', 'Q6': '3'})
'0xc2d49c60'

>>> main({'Q1': '1', 'Q2': '46', 'Q3': '25', 'Q4': '137', 'Q5': '167', 'Q6': '13'})
'0x369e272b9'

>>> main({'Q1': '0', 'Q2': '67', 'Q3': '5', 'Q4': '94', 'Q5': '55', 'Q6': '15'})
'0x3cdd78b0c'

Вариант №32

Задача №8

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

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

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

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

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

Тесты:

>>> main([('Y1', '0x0'), ('Y3', '0x0'), ('Y4', '0x1c')])
'0x700'

>>> main([('Y1', '0x1'), ('Y3', '0x1'), ('Y4', '0x56')])
'0x15a1'

>>> main([('Y1', '0x1'), ('Y3', '0x0'), ('Y4', '0x49')])
'0x1241'

>>> main([('Y1', '0x0'), ('Y3', '0x0'), ('Y4', '0x5f')])
'0x17c0'

Вариант №33

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(1755610164)
{'O1': 20, 'O2': 1, 'O3': 62, 'O4': 82, 'O5': 104}

>>> main(1089529923)
{'O1': 3, 'O2': 2, 'O3': 116, 'O4': 120, 'O5': 64}

>>> main(1200553169)
{'O1': 17, 'O2': 6, 'O3': 126, 'O4': 71, 'O5': 71}

>>> main(340123847)
{'O1': 7, 'O2': 6, 'O3': 240, 'O4': 34, 'O5': 20}

Вариант №34

Задача №8

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

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

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

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

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

Тесты:

>>> main('0x1e513168')
[('I1', 360), ('I2', 8), ('I3', 137), ('I4', 121)]

>>> main('0x106fa4fd')
[('I1', 253), ('I2', 2), ('I3', 381), ('I4', 65)]

>>> main('0x192d8383')
[('I1', 387), ('I2', 1), ('I3', 364), ('I4', 100)]

>>> main('0x26e8b5a')
[('I1', 346), ('I2', 5), ('I3', 372), ('I4', 9)]

Вариант №35

Задача №8

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

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

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

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

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

Тесты:

>>> main(('0x6c', '0x1', '0x76', '0x6a'))
'0xd5d8026c'

>>> main(('0x1a6', '0x1', '0x15', '0xce'))
'0x19c5403a6'

>>> main(('0x12', '0x0', '0x5', '0x171'))
'0x2e2140012'

>>> main(('0xf5', '0x1', '0x5c', '0x166'))
'0x2cd7002f5'

Вариант №36

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(122821179248)
'255630537575'

>>> main(132793599176)
'164405737944'

>>> main(29092498915)
'477247838404'

>>> main(59897358524)
'300237731474'

Вариант №37

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(62787591)
'0x20401be'

>>> main(98912594)
'0x40253e5'

>>> main(3172259)
'0x9ea30'

>>> main(104299010)
'0x60e8237'

Вариант №38

Задача №8

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

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

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

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

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

Тесты:

>>> main({'H1': '0x1', 'H2': '0x16', 'H3': '0xb4', 'H4': '0x2d9', 'H5': '0xb3'})
'48241141849'

>>> main({'H1': '0x3', 'H2': '0x14', 'H3': '0xa7', 'H4': '0x102', 'H5': '0xbe'})
'51070455379'

>>> main({'H1': '0x3', 'H2': '0x10', 'H3': '0x66', 'H4': '0xbc', 'H5': '0xf'})
'4075867203'

>>> main({'H1': '0x0', 'H2': '0x7a', 'H3': '0x81', 'H4': '0x12c', 'H5': '0x11c'})
'76314379240'

Вариант №39

Задача №8

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

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

Целое.

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

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

Тесты:

>>> main(16146106674)
{'B1': '0x2', 'B2': '0x3', 'B3': '0x12', 'B4': '0x0', 'B5': '0x262', 'B6': '0xf0'}

>>> main(12773548659)
{'B1': '0x3', 'B2': '0x7', 'B3': '0x4', 'B4': '0x7', 'B5': '0x15c', 'B6': '0xbe'}

>>> main(15766045815)
{'B1': '0x7', 'B2': '0x7', 'B3': '0x8', 'B4': '0x6', 'B5': '0x3ba', 'B6': '0xea'}

>>> main(28319353264)
{'B1': '0x0', 'B2': '0x3', 'B3': '0x13', 'B4': '0x0', 'B5': '0x3f7', 'B6': '0x1a5'}

Вариант №40

Задача №8

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

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

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

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

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

Тесты:

>>> main('31814656028')
[('Z1', '0x1c'), ('Z2', '0x0'), ('Z3', '0x1a4'), ('Z4', '0x84'), ('Z5', '0x3'), ('Z6', '0xe')]

>>> main('32416230400')
[('Z1', '0x0'), ('Z2', '0x20'), ('Z3', '0x10d'), ('Z4', '0xc2'), ('Z5', '0x0'), ('Z6', '0xf')]

>>> main('43815498091')
[('Z1', '0xb'), ('Z2', '0xb'), ('Z3', '0x16e'), ('Z4', '0x139'), ('Z5', '0x1'), ('Z6', '0x14')]

>>> main('55917689377')
[('Z1', '0x1'), ('Z2', '0x11'), ('Z3', '0x87'), ('Z4', '0x4f'), ('Z5', '0x0'), ('Z6', '0x1a')]