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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д