zoukankan      html  css  js  c++  java
  • C#版 大数计算器乘法

    class BigMultiply:BigCalculate
     

       {
            public override string Oper(string num1, string num2)
            {
                if (num1.Equals("0")||num2.Equals("0"))
                {
                    return "0";
                }

                List liAllNum = new List();//存储乘数每位乘法的结果
                List liCh = new List();//存储乘数每位乘法中每一位的结果

                //将长度较长的数字赋给num1,方便后面计算
                if (num1.Length < num2.Length)
                {
                    ChangeNum(ref num1, ref num2);
                }
     
                int flag;
                for (int i = num2.Length-1; i >=0; i--)
                {
                    //初始化上一位乘法中的数据
                    liCh.Clear();
                    flag = 0;
                    //计算第i位乘以第j位
                    for (int j = num1.Length - 1; j >= 0; j--)
                    {
                        liCh.Add((char)((num2[i] - '0') * (num1[j] - '0')+flag+'0'));
                        flag = (liCh[liCh.Count-1] -'0')/ 10;
                        liCh[liCh.Count - 1] = (char)((liCh[liCh.Count - 1] - '0') % 10+'0');
                    }
                    //若进位不为0,则在加进位
                    if (flag>0)
                    {
                        liCh.Add((char)(flag+'0'));
                    }
                    //添加结果集
                    liAllNum.Add(InvertOrder(new string(liCh.ToArray()))+new string('0',liAllNum.Count));
                }
                int count = 0;
                string res="0";
                //调用add方法,将每一位乘法所得的结果相加,即为结果
                BigAdd addOper= new BigAdd();
                while (count
                {
                    res = addOper.Oper(res,liAllNum[count]);
                    count++;
                }

                return res;  
            }
    }
  • 相关阅读:
    C# Array.CreateInstance创建二维数组及如何遍历二维数组
    Camstar开发常用数据库表及其关联
    Camstar开发C#代码规范、Camstar更新以及Designer 开发规范
    Andorid存储方式---读写文件
    Andorid存储方式----SharedPreferences存储
    InputStream类只能读取一次
    ssh文件上传问题
    关于html自定义属性
    我是程序猿,我爱做菜。
    第8章 Spring Web Flow
  • 原文地址:https://www.cnblogs.com/qiuyeyaozhuai/p/2719087.html
Copyright © 2011-2022 走看看