Írjunk programot, amely pozitív egész számnak megjeleníti a bináris alakját.és megszámlálja 0 és 1-es biteket.
A feladat megoldása:
static string Konvertáló(int szám)
{
const uint ALAP = 2;
uint maradék, decimális = (uint)szám;
string bináris = "";
while (decimális != 0)
{
maradék = decimális % ALAP;
bináris = maradék.ToString() + bináris;
decimális = decimális / ALAP;
}
return bináris;
}
static void Bit01_számláló(uint n, out uint b0, out uint b1)
{
b0 = 0; b1 = 0;
for (; (n != 0); n >>= 1)
{
if ((n & 1) != 0) b1++;
else b0++;
}
}
private void button1_Click(object sender, EventArgs e)
{
int adat;
uint bit0, bit1, x;
string bin;
if (textBox1.Text != "")
{
adat = Int32.Parse(textBox1.Text);
if (adat > 0)
{
x = (uint)adat;
bin = Konvertáló(adat);
textBox2.Text = bin;
Bit01_számláló(x, out bit0, out bit1);
textBox3.Text = bit0.ToString();
textBox4.Text = bit1.ToString();
}
else
MessageBox.Show("A szám 0 vagy negatív!",
"Üzenet");
}
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
textBox2.Text = ""; textBox3.Text = "";
textBox4.Text = "";
}
A program futási eredményei: