Преобразование чисел в тип float - C#
Формулировка задачи:
Есть два числа: -13107 и 15948 16-битные. Требуется преобразовать в тип float, т.е. должно получиться 0.200000
Решение задачи: «Преобразование чисел в тип float»
textual
Листинг программы
using System;
using System.Runtime.InteropServices;
[StructLayout(LayoutKind.Explicit)]
struct NumberHack
{
[FieldOffset(0)]
public readonly short Short1;
[FieldOffset(2)]
public readonly short Short2;
[FieldOffset(0)]
public readonly float Float;
public NumberHack(short short1, short short2) : this()
{
Short1 = short1;
Short2 = short2;
}
public NumberHack(float f) : this()
{
Float = f;
}
}
class Program
{
static void Main(string[] args)
{
short a = -13107, b = 15948;
var hack = new NumberHack(a, b);
Console.WriteLine(hack.Float);
Console.WriteLine(hack.GetHashCode());
}
}