问题一、如何将一个integer数值(取值范围1-99999999)转BCD(8421码)后依次存储到4个char数组中比如: a,b:integer;
c,d: array[1..4] of char;
a:=23;
b:=90000023; 要求 :a,b分别放置到数组c 、d中,处理完后,
c[1]=35(高4位为2,低4位为3),c[2]=0,c[3]=0,c[4]=0 d[1]=35(高4位为2,低4位为3),d[2]=0,d[3]=0,d[4]=144(高4位为9,低4位为0)问题二: 如何将bcd码的数组再转成数值 比如将存放在d[1]d[1]d[1]d[1]中的数值提取出来,还是90000023,再存放到变量b中。
c,d: array[1..4] of char;
a:=23;
b:=90000023; 要求 :a,b分别放置到数组c 、d中,处理完后,
c[1]=35(高4位为2,低4位为3),c[2]=0,c[3]=0,c[4]=0 d[1]=35(高4位为2,低4位为3),d[2]=0,d[3]=0,d[4]=144(高4位为9,低4位为0)问题二: 如何将bcd码的数组再转成数值 比如将存放在d[1]d[1]d[1]d[1]中的数值提取出来,还是90000023,再存放到变量b中。
解决方案 »
- 100分,写文本文件的问题。
- 自己做了一个控件,后来又加了一个只读属性,却在面板上没有显示,怎么回事啊?请大家帮忙,多谢!!!
- BitBtn1Click
- 我想动态创建一个Tbarseries,怎么建?十分着急,在线等待!!!!
- 对HTML Help 帮助制作工具有兴趣的兄弟请进
- delphi中的报表问题
- Tidsmtp中怎样捕捉错误事件阿,比如连接错误????
- 请教关键值冲突处理的一个问题!明天就要答辩了,急啊!
- CreateOleObject('ADODB.Connection');要用ado连数据库,这一句写在哪里呀
- 网页中如何调用客户端 office?
- delphi7安装flatstyle后无法使用flatspineditinteger和flatspineditfloat
- Delphi如何提取网页链接和链接文本
function dec2bcd(dec: Integer):Integer;
begin
result:= ((dec div 10) shl 4)+(dec mod 10);
end;function bcd2dec(bcd: Integer):Integer;
begin
result:= ((bcd shr 4)*10)+(bcd mod 16);
end;
整数当做16进制字符串放到char数组中吧?
pa : integer;
for i=1 to 4 do
begin
pa := a div ((i-1)*pow(10,2));
c[i] := (pa mod 10)+ ((pa mod 100) div 10)*16;
end;第二个问题:用bi = inttohex(d[i],2)
该函数返回字符串,先拼字符串,再将整个字符串转换成整数即可