2014-02-10 2 views
-3

Я пытаюсь преобразовать строку ниже в C#. Дик и энергия и отношение являются переменными. Я не уверен, как представить & a в C# и modf, если я могу получить руководство, пожалуйста, и спасибо.Преобразование формулы C в C#

(void) modf (ratio * (dik/eint), &a); 
+0

Какие типы данных для 'ratio',' 'dik', eint' и' Ā'? – wdosanjos

+0

Это двойные значения. A - это INt * – Master

+0

@ user3276954 В этом случае ваш C тоже испорчен;) 'a' должен быть определен как' double' для modf: http://www.cplusplus.com/reference/cmath/modf/ –

ответ

1

Я не уверен, как представить & а в С # и MODF, если я могу получить руководство, пожалуйста и спасибо.

Вы можете использовать Math.Truncate в C#:

double a = Math.Truncate(ratio * dik/eint); 

Это будет возвращать «интегральную часть указанной двойной точности чисел с плавающей точкой», что то же самое значение, возвращенное в modf «s intpart параметр (ваш &a).

1

Try:

double a = (int) (ratio * (dik/eint)); // Integer portion 

    double x = (ratio * (dik/eint)) % 1; // Fractional portion 
-1

Вы можете получить адрес переменной в C# так же, как вы делаете в C.

int* apointer = &a 

Даст вам адрес в памяти переменной а.

http://msdn.microsoft.com/en-us/library/zcbcf4ta.aspx

+0

... В небезопасном контексте после включения флага компилятора. – Magus

+2

Under unsafe .. но * почему * (здесь)? – user2864740

Смежные вопросы