整数转换成BCD字符串!BCD字符串转换成整数!出招啊!!!(100分)

  • 主题发起人 主题发起人 mmm188
  • 开始时间 开始时间
function BCD(Hex:longint):longint;
var b0,b1,b2,b3,b4,b5 : longint;
begin
b5:=(Hex div 100000);
b4:=(Hex mod 100000) div 10000;
b3:=(Hex mod 10000 ) div 1000 ;
b2:=(Hex mod 1000 ) div 100 ;
b1:=(Hex mod 100 ) div 10 ;
b0:=(Hex mod 10 );
BCD:=b0+(b1 shl 4)+(b2 shl 8)+(b3 shl 12)+(b4 shl 16)+(b5 shl 20);
end;
 
function InttoBCD(v:integer):string
var i : Integer;s:string;
begin
s := inttostr(v);
Result := '';
for i = 1 to len(s) do
Result := Result + inttohex(strtoint(s),1);
end;

function bcdtoint(v:string):integer;
var i : integer;
begin
result := 0;
for i := 1 to Len(v) do
result := reault * 10 + strtoint(v);
end;
 
好象不对哦~~!!!
16位的整数字符串转化为BCD字符串后应该只有8位了~~~:)
使用BCD就是为了节约资源~~~

大家继续出。。。。。。。。。。。
 
你能说说什么叫BCD吗?
 
BCD码指每位十进制数用4位二进制数编码表示的方法。
 
搞定了,为两位热心的弟兄加分!
 
分来也!
to zhukewen,对整数字符串转换成BCD串时应该取2位,
而不是一位,对最后只剩一位时,要给低4位填1,就是0x0f

 
后退
顶部