/// <summary>
/// 十六进制数转BCD,只考虑无符号数,未处理小数据转换时效率不高问题
/// </summary>
/// <param name="data">待编码数</param>
/// <returns>编码后的数</returns>
static UInt64 UIntToBCD(UInt64 data)
{
UInt64 result = 0;
for(int i=16;i>0;i--)
{
result += (data / (UInt64)(Math.Pow(10, i))) << (4 * i);
data = data % (UInt64)Math.Pow(10, i);
}
return result + data;
}