给个C#列子,能举列说明吗?

解决方案 »

  1.   

    Binary-Coded Decimal‎,简称BCD。
    来人帮忙啊!
      

  2.   

     bcd码也叫8421码就是将十进制的数以8421的形式展开成二进制,大家知道十进制是0~9十个数组成,着十个数每个数都有自己的8421码:
      0=0000
      1=0001
      2=0010
      3=0011
      4=0100
      5=0101
      6=0110
      7=0111
      8=1000
      9=1001 这是如何算出来的?
      

  3.   

    网上有段例子
    string toBCD(int a) 
            { 
                int shl;        
                string ret = string.Empty; 
                while (a > 0) 
                { 
                    string c = string.Empty; 
                    shl = (a % 10); 
                    a /= 10; 
                    while (shl > 0) 
                    { 
                        c = (shl % 2).ToString() + c; 
                        shl /= 2; 
                    } 
                    ret = c.PadLeft(4, '0') + ret; 
                } 
                return ret; 
            }
      

  4.   

    int x=97; ///要对整数97BCD编码
        byte m=(((byte)7)<<4)+(((byte)9));
        //得到的m即为数字97和BCD码字节表现形式    string bs=(((byte)(m<<4))>>4)).ToString()+"+"+(m>>4).ToString();bs即为从BCD码解得的字符串
      

  5.   

    int toBCD(int a){
        int ret = 0, shl = 0;
        while (a > 0) {
            ret |= (a % 10) << shl;
            a /= 10;
            shl += 4;
        }
        return ret;
    }
      

  6.   

    8421直接转换就好了
      for (int i = 0; i != 10; i++)
                {
                    string _Value = Convert.ToString(i, 2).PadLeft(4,'0');                MessageBox.Show(_Value);
                }其他码可以参考
    http://blog.csdn.net/zgke/archive/2009/04/02/4042567.aspx
      

  7.   


        public static string ToBCD(int number)
        {
            string numStr = number.ToString();
            StringBuilder BcdBuilder = new StringBuilder();
            foreach (char ch in numStr)
            {            
                BcdBuilder.Append(Convert.ToString(ch - '0', 2).PadLeft(4,'0' ));
            }
            return BcdBuilder.ToString();
        }