本文主要是介绍C# int to BCD encode(最简单的实现办法),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这个函数是自己写的,不知道有误没有,网上找了很多但是都写得怪麻烦的。
希望对大家有所帮助
byteLength是返回字节的长度。
private static int GetSum(int baseInt, int[] sValue){int count = sValue.Length;if (count == 1) return 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# int to BCD encode(最简单的实现办法)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!