请问怎么将整数转换成BCD码??????????

解决方案 »

  1.   

    十六进制转换二进制function HexToBin(Hexadecimal: string): string;constBCD: array [0..15] of string =('0000', '0001', '0010', '0011', '0100', '0101', '0110', '0111','1000', '1001', '1010', '1011', '1100', '1101', '1110', '1111');vari: integer;beginfor i := Length(Hexadecimal) downto 1 doResult := BCD[StrToInt('$' + Hexadecimal[i])] + Result;end;
      

  2.   

    1.整形转换为十六进制
    2.十六进制转换为BCD
    void hextobcd(unsigned int hexs,unsigned char j) 
    {
    unsigned int va;
    unsigned char i;
        va = 10000;                             //最大数级万位
        for     (i=j-1;i;i--) {
            disp_buffer[i] = 0;                 //目标数组清零
            while ((hexs>=va)&&(va>9)) {
                hexs -= va;                     //减除数
                disp_buffer[i]++;               //商位加1
            }
            va /= 10;                           //除数除10,指向低一位
        }
        disp_buffer[0]=hexs;                    //最后个位数
    }
      

  3.   

    关于BCD码:
    BCD码用4位二进制代码表示一位十进制数,即二进制编码的十进制数。最常用的是8421 BCD码(标准BCD码)。
    BCD码有两类:
    组合(压缩)的BCD码:1个字节表示2个BCD码。
    非组合(非压缩)的BCD码:1个字节只用低4位表示 BCD码,高4位为0。
    2. BCD码的十进制调整
    用普通的二进制数运算指令算出结果,再用专门指令对结果进行调整。(个位补6)
      

  4.   

    搂主食要把每位数字换成BCD,是做汇编语言的那种调整?
      

  5.   

    哈哈,betteryang (betteryang) ,我不要分了!!