majid_i68
شنبه 28 دی 1392, 12:38 عصر
سلام
بنده یه برنامه نوشتم به این صورت که دوعدد از ورودی میگیره و اعمال and و or , و ... روشون انجام میده
با عملگرهای بیتی آشنایی دارم ولی نمیدونم چرا برنامه برای بعضی محاسبات جواب غلط میده
کد رو ببینید
private void button1_Click(object sender, EventArgs e)
{
//AND
long number1 = Convert.ToInt32(txtNumber1.Text);
long number2 = Convert.ToInt32(txtNumber2.Text);
label3.Text = (number1 & number2).ToString();
}
private void button2_Click(object sender, EventArgs e)
{
//Or
int number1 = Convert.ToInt32(txtNumber1.Text);
int number2 = Convert.ToInt32(txtNumber2.Text);
label4.Text = (number1 | number2).ToString();
}
private void button3_Click(object sender, EventArgs e)
{
// Xor
int number1 = Convert.ToInt32(txtNumber1.Text);
int number2 = Convert.ToInt32(txtNumber2.Text);
label6.Text = (number1 ^ number2).ToString();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
string a = textBox2.Text;
string b = string.Join(string.Empty,
a.Select(c => Convert.ToString(Convert.ToInt32(c.ToString(), 10), 2).PadLeft(4, ('0'))));
label8.Text = b;
}
private void button4_Click(object sender, EventArgs e)
{
//XNOR
int number1 = Convert.ToInt32(txtNumber1.Text);
int number2 = Convert.ToInt32(txtNumber2.Text);
label5.Text = (~(number1 ^ number2)).ToString();
}
مثلا وقتی دو عدد 1000 و 10010 بهش میدم
and میشه 766
or میشه 10234
xor میشه 1
xnor میشه -2
چرا جواب رو باینری نمیده؟؟؟
بنده یه برنامه نوشتم به این صورت که دوعدد از ورودی میگیره و اعمال and و or , و ... روشون انجام میده
با عملگرهای بیتی آشنایی دارم ولی نمیدونم چرا برنامه برای بعضی محاسبات جواب غلط میده
کد رو ببینید
private void button1_Click(object sender, EventArgs e)
{
//AND
long number1 = Convert.ToInt32(txtNumber1.Text);
long number2 = Convert.ToInt32(txtNumber2.Text);
label3.Text = (number1 & number2).ToString();
}
private void button2_Click(object sender, EventArgs e)
{
//Or
int number1 = Convert.ToInt32(txtNumber1.Text);
int number2 = Convert.ToInt32(txtNumber2.Text);
label4.Text = (number1 | number2).ToString();
}
private void button3_Click(object sender, EventArgs e)
{
// Xor
int number1 = Convert.ToInt32(txtNumber1.Text);
int number2 = Convert.ToInt32(txtNumber2.Text);
label6.Text = (number1 ^ number2).ToString();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
string a = textBox2.Text;
string b = string.Join(string.Empty,
a.Select(c => Convert.ToString(Convert.ToInt32(c.ToString(), 10), 2).PadLeft(4, ('0'))));
label8.Text = b;
}
private void button4_Click(object sender, EventArgs e)
{
//XNOR
int number1 = Convert.ToInt32(txtNumber1.Text);
int number2 = Convert.ToInt32(txtNumber2.Text);
label5.Text = (~(number1 ^ number2)).ToString();
}
مثلا وقتی دو عدد 1000 و 10010 بهش میدم
and میشه 766
or میشه 10234
xor میشه 1
xnor میشه -2
چرا جواب رو باینری نمیده؟؟؟