C++ union на C#

Узнай цену своей работы

Формулировка задачи:

Каким образом это можно сделать в C#. Необязательно,чтобы это была структура,просто может как-то проще можно? Я просто себе уже голову "сломал"...

Мне хотя бы просто понять,что в этом коде делается.

Мои мысли:

1. Я так понимаю в union объеденяют массив cData, состоящий из двух элементов, и целочисленную переменную siData,т.е. каждому элементу массива cData присвоен int siData. 2. В

for

первому и второму элементу cData из union uData присваивают какие-то значения из др.массива неважно какого.При этом значение siData не изменяется. 3. В каждый элемент массива SQ[] заносят значение, вычисляемое с участием int siData. Я правильно понимаю?!
            union
            {char cData[2];
                short int siData;} uData;
for (int i = 0; i < NBPF; i++)
              { uData.cData[ 0 ] = pszBuffer[2 * i +(curRealiz * NUMBER_BYTES_READ)];
                uData.cData[ 1 ] = pszBuffer[2 * i +(curRealiz * NUMBER_BYTES_READ) + 1];
                //используем окошко Хеннинга
                SQ[i] = uData.siData * Math.Cos(M_PI * (Convert.ToDouble(i) / Convert.ToDouble(NBPF) - 0.5));
                SW[i] = 0.0; //обнуляем мнимые составляющие
              }
Заранее спасибо за любую помощь!

Решение задачи: «C++ union на C#»

textual
Листинг программы
            //...
            LikeAUnion un = new LikeAUnion();
            un.i32 = 55245564;
            Console.WriteLine("b1 = {0}; b2 = {1}; b3 = {2}; b4 = {3}", un.b1, un.b2, un.b3, un.b4);
            Console.ReadKey();
            //b1 = 252; b2 = 250; b3 = 74; b4 = 3

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.75 из 5