1. int ASC2BCD(const char* szASC,byte* szBDC)
  2.  
    {
  3.  
    int szASCLen=strlen(szASC);
  4.  
    byte * bpBCD = new byte[szASCLen/2];
  5.  
    int nss=0,nOu=0;
  6.  
    for (int x=szASCLen-1;x>=0;x--)
  7.  
    {
  8.  
    //取出字符串中的一个数值
  9.  
    char char_1=*(szASC+x);
  10.  
    //取出BCD码
  11.  
    int nBDC;
  12.  
    if (char_1 != '.') nBDC=(char_1 & 0xF);
  13.  
    else nBDC=14;
  14.  
     
  15.  
    if ((++nOu)&0x01)
  16.  
    bpBCD[nss]=(nBDC << 4);
  17.  
    else
  18.  
    bpBCD[nss++] += nBDC;
  19.  
     
  20.  
    }
  21.  
    int nBit=0;
  22.  
    if (nOu%2==0) nBit=nOu/2-1;
  23.  
    else nBit=nOu/2;
  24.  
    for (int y=0;y<=nOu/2;y++)
  25.  
    {
  26.  
    szBDC[y]=(bpBCD[nBit-y] << 4);
  27.  
    szBDC[y]+=(bpBCD[nBit-y] >> 4);
  28.  
    }
  29.  
    return nBit;
  30.  
     
  31.  
    // memcpy(szBDC,bpBCD,sizeof(bpBCD)*2);
  32.  
    }
  1.  
    void CDotTestDlg::OnButton1()
  2.  
    {
  3.  
    char szTest[]={"123456789123456789.789"} ;
  4.  
     
  5.  
    int s=strlen(szTest);
  6.  
     
  7.  
    byte * szAn=new byte[s/2];
  8.  
    int w=ASC2BCD(szTest,szAn);
  9.  
    for(int x=0;x<=w;)
  10.  
    TRACE("%x ",szAn[x++]);
  11.  
    }

事例:
输出:12 34 56 78 91 23 45 67 89 e7 89

ASC转换BCD,ASC2BCD(转)的更多相关文章

  1. C#下16进制和BCD码转换代码

        private static Byte[] ConvertFrom(string strTemp) { try { if (Convert.ToBoolean(strTemp.Length & ...

  2. BCD与ASCII码互转-C语言实现

    /*BCD 与 ASCII码转换*/ /******************************************************************* 函数名:  asc2bc ...

  3. BCD工具类(8421)

    目录 1.BCD介绍 (1)BCD码(Binary-Coded Decimal)亦称二进码十进数.用4位二进制数来表示1位十进制数中的0~9这10个数码.用二进制编码的十进制代码. (2)BCD码可分 ...

  4. Delphi中对BCD码的直接支持 (转)

    最近在Delphi下写软件,需要将数据转换为BCD码和将BCD码转换为其它数据类型,从网上搜索了一下,没有发现好的函数,于是就想自定义函数来完成BCD与其它格式的数据转换功能.但最终没有动手写,先查查 ...

  5. Delphi中BCD和Currency类型

    用了这些年的Delphi,竟然对Currency及TBCDField一知半解,下文给了很好的讲解,值得一读. 一.       BCD类型 BCD即Binary-Coded Decimal?,在Del ...

  6. DES、MD5、RSA加密算法

    本篇主要是实现标题中的三个加密算法,至于机制大家自行百度吧. 一.DES 实现类:DES.java package com.kale.des; import java.security.SecureR ...

  7. Java RSA 加密 解密 签名 验签

    原文:http://gaofulai1988.iteye.com/blog/2262802 import java.io.FileInputStream; import java.io.FileOut ...

  8. 【转】 我的java web登录RSA加密

    [转] 我的java web登录RSA加密 之前一直没关注过web应用登录密码加密的问题,这两天用appscan扫描应用,最严重的问题就是这个了,提示我明文发送密码.这个的确很不安全,以前也大概想过, ...

  9. Android接口安全 - RSA+AES混合加密方案

    转载请注明出处: http://blog.csdn.net/aa464971/article/details/51034462 本文以Androidclient加密提交数据到Java服务端后进行解密为 ...

随机推荐

  1. yii2 basic 简洁安装教程

    虽然yii官网上说叫咱们用composer安装来安装,但是鄙人感觉这样的安装方式会将自己写的代码共享到github中,因此不太建议大家这样用.下面来给大家介绍basic简洁的安装方法. 第一步,下载b ...

  2. hdu 1051:Wooden Sticks(水题,贪心)

    Wooden Sticks Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  3. 并发容器J.U.C --组件FutureTask、ForkJoin、BlockingQueue

    FutureTask FutureTask是J.U.C中的类,是一个可删除的异步计算类.这个类提供了Future接口的的基本实现,使用相关方法启动和取消计算,查询计算是否完成,并检索计算结果.只有在计 ...

  4. eclipse新建maven web工程

    每次建maven项目,总会有问题.决定在这整理一次,避免以后浪费时间. 最后目录为 1.首先修改pom.xml 之前老是出现明明改了 java compiler 已maven update 一下就又变 ...

  5. 《转》Win7 IIS7.5 安装

    一.进入Win7的 控制面板,选择左侧的 打开或关闭Windows功能. 二.现在出现了安装Windows功能的选项菜单,注意选择的项目,我们需要手动选择需要的功能,下面这张图片把需要安装的服务都已经 ...

  6. Android实例-使用电话拨号器在移动设备上

    Android实例-使用电话拨号器在移动设备上 源文地址: http://docwiki.embarcadero.com/RADStudio/XE5/en/Mobile_Tutorial:_Using ...

  7. hdu4045(递推)

    不会斯特林数的只能用递推思想了,结果发现推出来的就是斯特林数... #include <stdio.h> #include <stdlib.h> #include <st ...

  8. iOS侧面加shadow

    UIBezierPath *shadowPath = [UIBezierPath bezierPathWithRect:_bgView.bounds]; _bgView.layer.masksToBo ...

  9. [Algorithms] Graph Traversal (BFS and DFS)

    Graph is an important data structure and has many important applications. Moreover, grach traversal ...

  10. finereport Web工具栏

    1.获取报表工具栏按钮 在报表页面中,偶尔会有需要获取工具栏按钮的需求,之前只能通过contentPane.toolbar.options.items[index]来获取,比较不方便,现在我们提供了两 ...