Добавить в Калькулятор работу с 16-чными числами - C#

Формулировка задачи:

Народ, помогите пожалуйста. Нужен шестнадцатеричный калькулятор. Написал обычный:
    public partial class Form1 : Form
    {
        double S1, S2;
        string Oper;
        bool b;
        public Form1()
        {
            InitializeComponent();
            b = false;
        }
 
        void Znak(object sender)
        {
            try
            {
                if (Oper == null)
                {
                    S1 = Convert.ToDouble(txtHZ.Text);
                    b = true;
                }
                else
                {
                    S2 = Convert.ToDouble(txtHZ.Text);
                    Raschet();
                }
                Oper = (sender as Button).Text;
            }
            catch (Exception)
            {
                MessageBox.Show("Введите число", "Внимание!");
            }
        }
 
        void Knopka(object sender)
        {
            if (b)
            {
                txtHZ.Text = "";
                b = false;
            }
            if (txtHZ.Text == "0") txtHZ.Text = "";
            txtHZ.Text += (sender as Button).Text;
        }
 
        private void Raschet()
        {
            try
            {
                if (Oper != null)
                {
                    if (Oper == "+")
                    {
                        txtHZ.Text = Convert.ToString(S1 + S2);
                    }
                    if (Oper == "-")
                    {
                        txtHZ.Text = Convert.ToString(S1 - S2);
                    }
                    if (Oper == "*")
                    {
                        txtHZ.Text = Convert.ToString(S1 * S2);
                    }
                    if (Oper == "/")
                    {
                        txtHZ.Text = Convert.ToString(S1 / S2);
                    }
 
 
                }
            }
 
            catch (DivideByZeroException)
            {
                MessageBox.Show("Деление на 0 запрещено", "Внимание!");
            }
            catch (Exception)
            {
                MessageBox.Show("Введите число", "Внимание!");
            }
        }
 
 
        private void btnClear_Click(object sender, EventArgs e)
        {
            txtHZ.Text = "";
            S1 = 0;
            S2 = 0;
            Oper = null;
            b = false;
        }
 
        private void btnPlus_Click(object sender, EventArgs e)
        {
            Znak(sender as Button);
        }
 
        private void btnMinus_Click(object sender, EventArgs e)
        {
            Znak(sender as Button);
        }
 
        private void btnUm_Click(object sender, EventArgs e)
        {
            Znak(sender as Button);
        }
 
        private void btnRazd_Click(object sender, EventArgs e)
        {
            Znak(sender as Button);
        }
 
        private void btnRavno_Click(object sender, EventArgs e)
        {
            try
            {
                S2 = Convert.ToDouble(txtHZ.Text);
                Raschet();
                b = false;
                Oper = null;
            }
            catch (Exception)
            {
                MessageBox.Show("Введите число", "Внимание!");
            }
        }
 
        private void btn1_Click(object sender, EventArgs e)
        {
            Knopka(sender as Button);
        }
 
        private void btn0_Click(object sender, EventArgs e)
        {
            Knopka(sender as Button);
        }
 
        private void btn3_Click(object sender, EventArgs e)
        {
            Knopka(sender as Button);
        }
 
        private void btn2_Click(object sender, EventArgs e)
        {
            Knopka(sender as Button);
        }
 
        private void btn4_Click(object sender, EventArgs e)
        {
            Knopka(sender as Button);
        }
 
        private void btn5_Click(object sender, EventArgs e)
        {
            Knopka(sender as Button);
        }
 
        private void btn6_Click(object sender, EventArgs e)
        {
            Knopka(sender as Button);
        }
 
        private void btn7_Click(object sender, EventArgs e)
        {
            Knopka(sender as Button);
        }
 
        private void btn8_Click(object sender, EventArgs e)
        {
            Knopka(sender as Button);
        }
 
        private void btn9_Click(object sender, EventArgs e)
        {
            Knopka(sender as Button);
        }
Можно ли этот алгоритм приспособить к работе с 16 - ричными числами? если знаете другой алгоритм, напишите плз. Добавлено через 2 часа 25 минут видимо, никто не поможет...

Код к задаче: «Добавить в Калькулятор работу с 16-чными числами - C#»

textual
        private void btn1_Click(object sender, EventArgs e)
        {
            Knopka(sender as Button);
        }
 
        private void btn0_Click(object sender, EventArgs e)
        {
            Knopka(sender as Button);
        }
 
        private void btn3_Click(object sender, EventArgs e)
        {
            Knopka(sender as Button);
        }
 
        private void btn2_Click(object sender, EventArgs e)
        {
            Knopka(sender as Button);
        }
 
        private void btn4_Click(object sender, EventArgs e)
        {
            Knopka(sender as Button);
        }
 
        private void btn5_Click(object sender, EventArgs e)
        {
            Knopka(sender as Button);
        }
 
        private void btn6_Click(object sender, EventArgs e)
        {
            Knopka(sender as Button);
        }
 
        private void btn7_Click(object sender, EventArgs e)
        {
            Knopka(sender as Button);
        }
 
        private void btn8_Click(object sender, EventArgs e)
        {
            Knopka(sender as Button);
        }
 
        private void btn9_Click(object sender, EventArgs e)
        {
            Knopka(sender as Button);
        }

14   голосов, оценка 3.643 из 5


СОХРАНИТЬ ССЫЛКУ