请问怎么将整数转换成BCD码??????????
解决方案 »
- 千分散尽求解析,delphi SOCKET通信发送带包头的XML文件,曾问100人无果
- DELPHI如何 编写 IIS的ISAPI过滤
- 实时备份SQL数据库
- 怎样在线升级Exe自己?
- 如何连接带有工作组信息文件(system.mda)的ACCESS数据库?
- 使用PAGECONTRON时,如何让动态创建的WEBBROWSER1放在其上面(这个PAGECONTROL页也动太新建的页)
- Delphi5中的QuickRep用QRDBText如何实现自动换行,在线急!
- 求Delphi与Pos系统相关英文文章作毕设翻译资料,最好有中文翻译~!
- idftp 登陆
- 如何使用TNMUDP实现传一个大的文件?
- 在Service Application里加入ADOConnect,为什么在TService的OnStart事件里做ADOConnect.Connect:=true 启动时会出错?(编译无错)
- KKK~~~数据库中能不能直接读查询结果的一列,或是一行
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; //最后个位数
}
BCD码用4位二进制代码表示一位十进制数,即二进制编码的十进制数。最常用的是8421 BCD码(标准BCD码)。
BCD码有两类:
组合(压缩)的BCD码:1个字节表示2个BCD码。
非组合(非压缩)的BCD码:1个字节只用低4位表示 BCD码,高4位为0。
2. BCD码的十进制调整
用普通的二进制数运算指令算出结果,再用专门指令对结果进行调整。(个位补6)