3. 單精確度浮點二進制值轉換為十進制實數值系統
namespace Q3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Close();
}
private void button3_Click(object sender, EventArgs e)
{
var neg = textBox1.Text == "1";
int n = (int)Math.Pow(2, Convert.ToInt16(textBox2.Text, 2) - 127);
double k = 1;
for (int i = 0; i < textBox3.Text.Length; i++)
{
k += ((double)(textBox3.Text[i] - '0')) / Math.Pow(2, i + 1);
}
k *= n;
if (neg) k *= -1;
if (k == 0) k = 0;
textBox4.Text = $"{k:0.##########}";
}
private void button2_Click(object sender, EventArgs e)
{
var rd = new Random();
textBox1.Text = rd.Next(2).ToString();
string b2 = "";
for (int i = 0; i < 8; i++) b2 += rd.Next(2);
textBox2.Text = b2;
b2 = "";
for (int i = 0; i < "01000011110000000000000".Length; i++) b2 += rd.Next(2);
textBox3.Text = b2;
textBox4.Clear();
}
}
}
Last updated