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;
                
            }
  • 相关阅读:
    递归算法浅谈
    c语言中的位移位操作
    程序猿面试金典-数组和字符串
    很好的理解遗传算法的样例
    垂直搜索的相关知识点总结
    php单元測试
    Android中ExpandableListView控件基本使用
    几种代价函数
    ZJU-PAT 1065. A+B and C (64bit) (20)
    谷歌技术&quot;三宝&quot;之MapReduce
  • 原文地址:https://www.cnblogs.com/soief/p/2265189.html
Copyright © 2011-2022 走看看