Írjunk programot, amely beolvas két pozitív egész számot és a léptetés számát, majd VAGY, ÉS, KIZÁRÓ VAGY , léptetés balra, léptetés jobbra, egyes- és ketteskomplemens megjelenítése numerikus értékkel és binárisan is.
A feladat megoldása:
static string Konvertáló(int szám)
{
const uint ALAP = 2;
int 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;
}
private void button1_Click(object sender, EventArgs e)
{
int a, b, n, eVagy, eÉs, eKizáróvagy, eléptetésB,
eléptetésJ, egyesKompl, kettesKompl;
string ered;
if (textBox1.Text != "" && textBox2.Text != "" &&
textBox3.Text!= "")
{
a = Int32.Parse(textBox1.Text);
b = Int32.Parse(textBox2.Text);
n = Int32.Parse(textBox3.Text);
if (a > 0 && b > 0 && n > 0)
{
ered = Konvertáló(a);
label11.Text = ered;
ered = Konvertáló(b);
label12.Text = ered;
eVagy = a | b;
textBox4.Text = eVagy.ToString();
ered = Konvertáló(eVagy);
textBox5.Text = ered;
eÉs = a & b;
textBox6.Text = eÉs.ToString();
ered = Konvertáló(eÉs);
textBox7.Text = ered;
eKizáróvagy = a ^ b;
textBox8.Text = eKizáróvagy.ToString();
ered = Konvertáló(eKizáróvagy);
textBox9.Text = ered;
eléptetésB = a << n;
textBox10.Text = eléptetésB.ToString();
ered = Konvertáló(eléptetésB);
textBox11.Text = ered;
eléptetésJ = a >> n;
textBox12.Text = eléptetésJ.ToString();
ered = Konvertáló(eléptetésJ);
textBox13.Text = ered;
egyesKompl = ~a;
textBox14.Text = egyesKompl.ToString();
ered = Konvertáló(egyesKompl);
textBox15.Text = ered;
kettesKompl = -a;
textBox16.Text = kettesKompl.ToString();
ered = Konvertáló(kettesKompl);
textBox17.Text = ered;
}
else MessageBox.Show("Hibás adat", "Hibajelzés");
}
}
private void button2_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
textBox4.Text = ""; textBox5.Text = "";
textBox6.Text = ""; textBox7.Text = "";
textBox8.Text = ""; textBox9.Text = "";
textBox10.Text = ""; textBox11.Text = "";
textBox12.Text = ""; textBox13.Text = "";
textBox14.Text = ""; textBox15.Text = "";
textBox16.Text = ""; textBox17.Text = "";
label11.Text = ""; label12.Text = "";
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
textBox4.Text = ""; textBox5.Text = "";
textBox6.Text = ""; textBox7.Text = "";
textBox8.Text = ""; textBox9.Text = "";
textBox10.Text = ""; textBox11.Text = "";
textBox12.Text = ""; textBox13.Text = "";
textBox14.Text = ""; textBox15.Text = "";
textBox16.Text = ""; textBox17.Text = "";
label11.Text = ""; label12.Text = "";
}
private void textBox3_TextChanged(object sender, EventArgs e)
{
textBox4.Text = ""; textBox5.Text = "";
textBox6.Text = ""; textBox7.Text = "";
textBox8.Text = ""; textBox9.Text = "";
textBox10.Text = ""; textBox11.Text = "";
textBox12.Text = ""; textBox13.Text = "";
textBox14.Text = ""; textBox15.Text = "";
textBox16.Text = ""; textBox17.Text = "";
label11.Text = ""; label12.Text = "";
}
A program futási eredményei: