Multiply two numbers without using * operator

In this blog we will know how to multiply two numbers without using * operator.


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 = "";

        }

    }

}