1. 0-1 變動長度編碼系統
namespace WinFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button3_Click(object sender, EventArgs e)
{
Close();
}
private void button2_Click(object sender, EventArgs e)
{
var x = "";
for (int i = 0; i < 40; i++)
{
x += new Random().Next(2);
}
textBox1.Text = x;
}
private void button1_Click(object sender, EventArgs e)
{
var t = textBox1.Text;
var n = 0;
var k = "";
for (int i = 0; i < t.Length; i++)
{
if (t[i] == '1')
{
k += Convert.ToString(n, 2) + " ";
n = 0;
}
else n++;
}
if(n!=0) k += Convert.ToString(n, 2) + " ";
if (k.EndsWith(" ")) k=k.Substring(0, k.Length - 1);
od.Text = k;
label5.Text = $"{(double)k.Length/t.Length*100:f1}%";
}
}
}
Last updated