zoukankan      html  css  js  c++  java
  • C# int to BCD encode(最简单的实现办法)BCD编码编程实现算法

    这个函数是自己写的,不知道有误没有,网上找了很多但是都写得怪麻烦的。

    希望对大家有所帮助

    byteLength是返回字节的长度。

     private static int GetSum(int baseInt, int[] sValue)
            {
                int count = sValue.Length;
                if (count == 1return sValue[0];
                int r = 1;
                int b = sValue[0];
                for (int i = 1; i < count; i++)
                {
                    r *= baseInt;
                }
                count--;
                int[] ri = new int[sValue.Length - 1];
                for (int j = 0; j < ri.Length; j++)
                {
                    ri[j] = sValue[j + 1];
                }
                return b * r + GetSum(baseInt, ri);
            }

            public static byte[] BCDEncode(this int intvalue, int byteLength)
            {
                byte[] r = new byte[byteLength];
                char[] chars = intvalue.ToString().ToCharArray();
                int clengh = chars.Length;
                int[] ints = new int[clengh];
                for (int j = 0; j < clengh; j++)
                {
                    ints[j] = Convert.ToInt32(chars[j].ToString());
                }

                int rvalue = GetSum(16, ints);

                byte[] sas = BitConverter.GetBytes(rvalue);
                byte[] ras = new byte[byteLength];
                for (int k = 0; k < byteLength; k++)
                {
                    ras[byteLength-k-1] = sas[k];
                }
                return ras;
                
            }
  • 相关阅读:
    【软件测试部署基础】maven的认识
    测试管理那些事[组建测试团队的思考]
    Django 框架基本操作(二)
    测试人员的工作开展方式
    产品管理基础知识
    项目经理与职能经理的区别
    python 面向对象(二)
    Python 常用方法和模块的使用(time & datetime & os &random &sys &shutil)-(六)
    python基本案例实现
    JAVA基础——集合浅析
  • 原文地址:https://www.cnblogs.com/soief/p/2265189.html
Copyright © 2011-2022 走看看