using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Windows.Forms; using libWin32.Win32.NumericConversion.IEEE754; namespace System.Windows.Forms { public partial class IEEE754FloatConverter : UserControl { public IEEE754FloatConverter() { InitializeComponent(); txtIEEE754Float.ReadOnly = false; txtFloat.ReadOnly = false; btnConvertToFloat.PerformClick(); } private void btnConvertToFloat_Click(object sender, EventArgs e) { ieee754FloatingPointConverter converter = new ieee754FloatingPointConverter(); converter.HexFloat = txtIEEE754Float.ToUInt32(); txtFloat.Text = string.Format("{0:R}", converter.Float); } private void btnConvertToIEEE754Float_Click(object sender, EventArgs e) { ieee754FloatingPointConverter converter = new ieee754FloatingPointConverter(); float f; if (!float.TryParse(txtFloat.Text, out f)) { MessageBox.Show("Failed to Convert: " + txtFloat.Text + " to a float.", "Float Conversion Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } converter.Float = f; txtIEEE754Float.Value = converter.HexFloat; } } }