Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main(('123', '23', '29'))
'0x3abfb00'
>>> main(('81', '39', '8'))
'0x113d100'
>>> main(('22', '28', '38'))
'0x4ce1600'
>>> main(('33', '34', '73'))
'0x9312100'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Тесты:
>>> main(39794)
50, 1, 0, 1)
(
>>> main(37766)
6, 1, 0, 1)
(
>>> main(37027)
35, 1, 0, 1)
(
>>> main(48216)
24, 1, 1, 1) (
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('20615484207')
'0x53331c02f'
>>> main('34199898550')
'0x7fd9e4036'
>>> main('9370255673')
'0x48ba0a039'
>>> main('18208153271')
'0x30f528037'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.
Выходные данные:
Целое.
Тесты:
>>> main('1045443')
1105727
>>> main('1660620')
1258093
>>> main('1605470')
1552631
>>> main('638658')
1086443
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.
Выходные данные:
Целое.
Тесты:
>>> main(210261056)
3147972
>>> main(264405713)
75236833
>>> main(27333180)
251921488
>>> main(131729036)
52170093
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('16776811')
'L1', 3), ('L2', 1), ('L4', 31), ('L5', 3), ('L6', 3)]
[(
>>> main('30837450')
'L1', 2), ('L2', 1), ('L4', 13), ('L5', 1), ('L6', 7)]
[(
>>> main('671228')
'L1', 4), ('L2', 3), ('L4', 20), ('L5', 0), ('L6', 0)]
[(
>>> main('22680555')
'L1', 3), ('L2', 1), ('L4', 20), ('L5', 1), ('L6', 5)] [(
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main([('U1', '0x3da'), ('U2', '0x1f2'), ('U3', '0x30'), ('U4', '0x5')])
'0x1707cbda'
>>> main([('U1', '0x2f3'), ('U2', '0x5d'), ('U3', '0x2e'), ('U4', '0x7c')])
'0x1f2e176f3'
>>> main([('U1', '0x35'), ('U2', '0x8b'), ('U3', '0x13'), ('U4', '0x5f')])
'0x17d322c35'
>>> main([('U1', '0x20f'), ('U2', '0x41'), ('U3', '0x30'), ('U4', '0x58')])
'0x16301060f'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main(('0x5a', '0x192', '0x13e', '0x5'))
'0x2cf806485a'
>>> main(('0x4c', '0x38f', '0x169', '0x2'))
'0x15a40e3c4c'
>>> main(('0x32d', '0x250', '0xf', '0x4'))
'0x203c09432d'
>>> main(('0xbc', '0x37b', '0x13e', '0x0'))
'0x4f80decbc'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Целое.Тесты:
>>> main([('V1', '8'), ('V2', '86'), ('V3', '23'), ('V4', '12'), ('V5', '1'), ('V6', '4')])
140080488
>>> main([('V1', '9'), ('V2', '85'), ('V3', '0'), ('V4', '10'), ('V5', '5'), ('V6', '62')])
2102658393
>>> main([('V1', '4'), ('V2', '115'), ('V3', '21'), ('V4', '8'), ('V5', '1'), ('V6', '16')])
542201652
>>> main([('V1', '6'), ('V2', '18'), ('V3', '29'), ('V4', '22'), ('V5', '7'), ('V6', '38')])
1307431206
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main(873183797746)
'0x1a6b0f399f2'
>>> main(3518740474173)
'0x1a254d1e63d'
>>> main(3173459040670)
'0x1700cb9dc9e'
>>> main(948518560203)
'0x26c50871bcb'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Целое.Тесты:
>>> main(('116', '7', '0', '2'))
36468
>>> main(('447', '13', '1', '0'))
15295
>>> main(('345', '10', '0', '6'))
103769
>>> main(('377', '13', '0', '7'))
121721
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.
Выходные данные:
Целое.
Тесты:
>>> main('50628239295926')
50626539277323
>>> main('13645362695529')
13669202726426
>>> main('25121831857362')
25139105309273
>>> main('43617600578353')
43615902204230
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('0xfc54e43')
'0xf3e2801'
>>> main('0xb40fd09')
'0xbfa0401'
>>> main('0xd314898')
'0xd298800'
>>> main('0xa5dd62d')
'0xb52ec01'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main(483341771)
'0x1ceecaf8'
>>> main(276617558)
'0x134a7da1'
>>> main(449969473)
'0x7ead075'
>>> main(101427877)
'0xe95094d'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('0x213ec')
'0x4291e'
>>> main('0x1eebb3')
'0x1df0dd'
>>> main('0x146c4b')
'0x8c8e3'
>>> main('0xa25f1')
'0x14706e'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main([('W1', 237), ('W2', 27), ('W3', 246), ('W4', 476), ('W5', 47)])
'0x17bb9edbed'
>>> main([('W1', 19), ('W2', 27), ('W3', 167), ('W4', 716), ('W5', 462)])
'0xe75994fb13'
>>> main([('W1', 193), ('W2', 18), ('W3', 165), ('W4', 479), ('W5', 44)])
'0x163bf4b2c1'
>>> main([('W1', 109), ('W2', 22), ('W3', 132), ('W4', 768), ('W5', 485)])
'0xf2e010966d'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('0xa4d515069')
9, 3, 277, 5, 659)
(
>>> main('0x2ccc3c881')
1, 68, 60, 3, 179)
(
>>> main('0x50306e101')
1, 8, 110, 12, 320)
(
>>> main('0x4ac23d0b8')
24, 5, 573, 0, 299) (
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('A1', 10), ('A3', 104), ('A4', 529), ('A5', 5)])
'94781308938'
>>> main([('A1', 2), ('A3', 164), ('A4', 53), ('A5', 7)])
'121159024642'
>>> main([('A1', 1), ('A3', 118), ('A4', 880), ('A5', 3)])
'66311290881'
>>> main([('A1', 43), ('A3', 247), ('A4', 532), ('A5', 5)])
'94841012267'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main({'M1': 15, 'M2': 157, 'M3': 0, 'M4': 0})
'0x9df'
>>> main({'M1': 0, 'M2': 224, 'M3': 0, 'M4': 0})
'0xe00'
>>> main({'M1': 3, 'M2': 89, 'M3': 0, 'M4': 0})
'0x593'
>>> main({'M1': 1, 'M2': 235, 'M3': 1, 'M4': 3})
'0x7eb1'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main(('454', '4', '5', '1', '726'))
'380850630'
>>> main(('399', '8', '1', '3', '458'))
'240542095'
>>> main(('469', '10', '2', '3', '229'))
'120498645'
>>> main(('991', '0', '6', '2', '811'))
'425559007'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main(2024573999)
'G1', '47'), ('G2', '12'), ('G3', '2'), ('G4', '86'), ('G5', '15'), ('G6', '0')]
[(
>>> main(294258957)
'G1', '13'), ('G2', '9'), ('G3', '0'), ('G4', '197'), ('G5', '2'), ('G6', '0')]
[(
>>> main(2228685676)
'G1', '108'), ('G2', '11'), ('G3', '4'), ('G4', '619'), ('G5', '0'), ('G6', '1')]
[(
>>> main(565145637)
'G1', '37'), ('G2', '48'), ('G3', '5'), ('G4', '215'), ('G5', '4'), ('G6', '0')] [(
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.
Выходные данные:
Целое.
Тесты:
>>> main(759961354)
759715336
>>> main(622794443)
622223240
>>> main(389074901)
389982304
>>> main(140533530)
141086760
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main(('0x6f', '0x2', '0xf', '0x18b'))
'0x3163d6f'
>>> main(('0x6f', '0x7', '0x2', '0x90'))
'0x1200bef'
>>> main(('0x41', '0x0', '0x5f', '0x315'))
'0x62b7c41'
>>> main(('0x7c', '0x3', '0x3b', '0x5'))
'0xaedfc'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main([('P2', '0x1'), ('P3', '0x0'), ('P4', '0x2'), ('P5', '0x1c1')])
'0x706200'
>>> main([('P2', '0x0'), ('P3', '0x1'), ('P4', '0x1'), ('P5', '0xa0')])
'0x281800'
>>> main([('P2', '0x3'), ('P3', '0x1'), ('P4', '0x1'), ('P5', '0x5a')])
'0x169e00'
>>> main([('P2', '0x2'), ('P3', '0x1'), ('P4', '0x3'), ('P5', '0xc7')])
'0x31fc00'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('54821715')
'J1', '3'), ('J2', '1'), ('J3', '26'), ('J5', '209'), ('J6', '0')]
[(
>>> main('141842637')
'J1', '13'), ('J2', '0'), ('J3', '6'), ('J5', '29'), ('J6', '1')]
[(
>>> main('85262813')
'J1', '13'), ('J2', '1'), ('J3', '14'), ('J5', '325'), ('J6', '0')]
[(
>>> main('249153708')
'J1', '12'), ('J2', '0'), ('J3', '5'), ('J5', '438'), ('J6', '1')] [(
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('S1', '0x87'), ('S2', '0x1'), ('S3', '0x3e3'), ('S4', '0x19')])
'54466951'
>>> main([('S1', '0x19'), ('S2', '0x1'), ('S3', '0x1dd'), ('S4', '0x10')])
'34531609'
>>> main([('S1', '0x78'), ('S2', '0x2'), ('S3', '0x3e'), ('S4', '0x34')])
'109179512'
>>> main([('S1', '0xa5'), ('S2', '0x6'), ('S3', '0x322'), ('S4', '0x3d')])
'129570469'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main(1740)
'Y2': '0x1', 'Y3': '0x9', 'Y4': '0xd'}
{
>>> main(1429)
'Y2': '0x1', 'Y3': '0x2', 'Y4': '0xb'}
{
>>> main(1669)
'Y2': '0x1', 'Y3': '0x0', 'Y4': '0xd'}
{
>>> main(2955)
'Y2': '0x0', 'Y3': '0x1', 'Y4': '0x17'} {
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('0x2d769f9e')
'2784218835'
>>> main('0x7b9fe0e4')
'1864143868'
>>> main('0x46fbcd15')
'3366109049'
>>> main('0xe7adcdd')
'3248205659'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('T1', '0xc'), ('T2', '0x2'), ('T3', '0x1'), ('T4', '0x6'), ('T5', '0xd')])
'3506732'
>>> main([('T1', '0xa'), ('T2', '0x16'), ('T3', '0x6'), ('T4', '0x2'), ('T5', '0x8')])
'2133354'
>>> main([('T1', '0x4'), ('T2', '0x2'), ('T3', '0x16'), ('T4', '0x1'), ('T5', '0x3')])
'814116'
>>> main([('T1', '0x0'), ('T2', '0x0'), ('T3', '0xe'), ('T4', '0xb'), ('T5', '0xe')])
'3857408'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Целое.
Тесты:
>>> main('0x16709f76021')
144747690928
>>> main('0x40fc6d5076')
507349245608
>>> main('0x1bf86032ef8')
1068905890199
>>> main('0x5794332a66')
438823094677
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main(5846756)
'0x1b92'
>>> main(7663781)
'0x297'
>>> main(4927628)
'0x232'
>>> main(6200083)
'0x2c4e'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main(('628', '2', '789', '114', '1'))
'796224127604'
>>> main(('401', '1', '802', '220', '2'))
'1573640208785'
>>> main(('438', '7', '695', '86', '1'))
'735898763702'
>>> main(('242', '1', '972', '161', '0'))
'347783561458'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.
Выходные данные:
Целое.
Тесты:
>>> main('372090')
191926
>>> main('264370')
136484
>>> main('3959108')
1976916
>>> main('2546051')
3371564
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('2968')
24, 0, 46, 0)
(
>>> main('7925')
21, 1, 123, 0)
(
>>> main('11006')
30, 1, 171, 0)
(
>>> main('30238')
30, 0, 472, 0) (
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('0xd1e1bf')
'0xbf', '0x1', '0x0', '0x7', '0x11', '0x6')
(
>>> main('0xdde783')
'0x83', '0x7', '0x0', '0x7', '0x1d', '0x6')
(
>>> main('0x9036e9')
'0xe9', '0x6', '0x2', '0x1', '0x10', '0x4')
(
>>> main('0xeaddb7')
'0xb7', '0x5', '0x3', '0x6', '0xa', '0x7') (
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Целое.Тесты:
>>> main([('C1', 4), ('C3', 14), ('C4', 60), ('C5', 4), ('C6', 184)])
197868617732
>>> main([('C1', 12), ('C3', 29), ('C4', 95), ('C5', 7), ('C6', 167)])
179834929164
>>> main([('C1', 1), ('C3', 5), ('C4', 95), ('C5', 3), ('C6', 158)])
169902424065
>>> main([('C1', 11), ('C3', 23), ('C4', 92), ('C5', 6), ('C6', 18)])
19778617355
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('E1', '0x82'), ('E2', '0x30f'), ('E3', '0x5'), ('E4', '0x5'), ('E5', '0x9')])
'626462594'
>>> main([('E1', '0xf1'), ('E2', '0x341'), ('E3', '0xe'), ('E4', '0x3'), ('E5', '0x1')])
'83575281'
>>> main([('E1', '0xc1'), ('E2', '0x142'), ('E3', '0x7'), ('E4', '0xe'), ('E5', '0x6')])
'463291073'
>>> main([('E1', '0xa8'), ('E2', '0x151'), ('E3', '0x8'), ('E4', '0xe'), ('E5', '0x1')])
'128012712'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('0x21b3d')
'0xd9d0'
>>> main('0x6433')
'0x2183'
>>> main('0x16fb7')
'0x7d8b'
>>> main('0x2b280')
'0x9415'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main(547913)
'U1': '9', 'U2': '49', 'U3': '5', 'U4': '1'}
{
>>> main(1523330)
'U1': '2', 'U2': '58', 'U3': '115', 'U4': '2'}
{
>>> main(1547976)
'U1': '8', 'U2': '59', 'U3': '121', 'U4': '2'}
{
>>> main(679552)
'U1': '0', 'U2': '58', 'U3': '37', 'U4': '1'} {
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('Y1', '112'), ('Y2', '96'), ('Y3', '1'), ('Y4', '45'), ('Y5', '0')])
'1503344'
>>> main([('Y1', '62'), ('Y2', '52'), ('Y3', '0'), ('Y4', '14'), ('Y5', '3')])
'6756926'
>>> main([('Y1', '122'), ('Y2', '65'), ('Y3', '0'), ('Y4', '52'), ('Y5', '3')])
'8003834'
>>> main([('Y1', '60'), ('Y2', '17'), ('Y3', '1'), ('Y4', '58'), ('Y5', '1')])
'4016316'