Преобразование двух int в float - C#
Формулировка задачи:
Добрый вечер!
Необходимо переписать следующую функцию на С++ под С#:
Данная функция у меня была написана в Builder С++ полностью рабочая.
Пробовал похожим образом переписать на C# с помощью структур ничего не выходить.
Разъяснить пожалуйста.
float convert_uint_to_float(unsigned int hw, unsigned int lw) {
union {
float f;
unsigned short i[2];
} convert_float_uint;
convert_float_uint.i[0] = lw;
convert_float_uint.i[1] = hw;
return (convert_float_uint.f);
}Решение задачи: «Преобразование двух int в float»
textual
Листинг программы
[StructLayout(LayoutKind.Explicit)]
struct Float
{
[FieldOffset(0)]
public float f;
[FieldOffset(0)]
public ushort lw;
[FieldOffset(sizeof(ushort))]
public ushort hw;
public Float(ushort lw, ushort hw)
{
f = 0;
this.lw = lw;
this.hw = hw;
}
}
float ConvertToFloat(ushort lw, ushort hw)
{
return new Float(lw, hw).f;
}