Multiply two numbers without * operator

Satyapriyanayak
Posted by Satyapriyanayak under C# category on | Points: 40 | Views : 1096
Method-1
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Multiply_two_numbers_without_star
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}

private void btn_Multiply_Click(object sender, EventArgs e)
{

if (textBox1.Text == "" || textBox2.Text == "")
{
MessageBox.Show("Please insert the numbers");
}
else
{
MessageBox.Show(multiply(Convert.ToInt32(textBox1.Text), Convert.ToInt32(textBox2.Text)).ToString());
}
clear();
}

void clear()
{
textBox1.Text = "";
textBox2.Text = "";
}

private int multiply(int a, int b)
{

int result = 0, i = 0;

while (i != b)
{
result = addition(result, a);
i = addition(i, 1);
}

return result;
}

private int addition(int a, int b)
{
int result = 0, carry;
carry = a & b;

if (Convert.ToBoolean(carry))
{
result = a ^ b;
carry = carry << 1;
result = addition(carry, result);
}
else
{
result = a ^ b;
}

return result;

}

}
}

Method-2
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Multiply_two_numbers_without_star
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private Double Multiply(Double A, Double B)
{
Double iResult;
iResult = 0;
if (A == 0 || B == 0)
{
iResult = 0;
}
else
{
for (int i = 1; i <= B; i++)
{
iResult = iResult + A;
}
}
return iResult;
}

private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "" || textBox2.Text == "")
{
MessageBox.Show("Please insert the numbers");
}
else
{
MessageBox.Show(Multiply(Convert.ToDouble(textBox1.Text), Convert.ToDouble(textBox2.Text)).ToString());
}
clear();
}
void clear()
{
textBox1.Text = "";
textBox2.Text = "";
}
}
}

Comments or Responses

Login to post response