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. 【BZOJ】3391: [Usaco2004 Dec]Tree Cutting网络破坏(dfs)

    http://www.lydsy.com/JudgeOnline/problem.php?id=3391 显然判断每个点只需要判断子树是否小于等于n/2即可 那么我们虚拟一个根,然后计算每个子树的si ...

  2. 【Raspberry Pi】webpy+mysql+GPIO 实现手机控制

    1.mysql http://dev.mysql.com/doc/refman/5.5/en/index.html 安装 sudo apt-get install update sudo apt-ge ...

  3. 将socket5代理转换为http代理

    归根结底还是万恶的ZFW,MD弄得现在Google,gmail,dropbox都用不了了,看来这是要万民欢迎大中华局域网的到来了.最近在使用一同学的Shadowsocks来突破GFW的限制,可是电脑o ...

  4. Java基础数据类型的默认值

    1.整数类型(byte.short.int.long)的基本类型变量的默认值为0. 2.单精度浮点型(float)的基本类型变量的默认值为0.0f. 3.双精度浮点型(double)的基本类型变量的默 ...

  5. 【BZOJ4382】[POI2015]Podział naszyjnika 堆+并查集+树状数组

    [BZOJ4382][POI2015]Podział naszyjnika Description 长度为n的一串项链,每颗珠子是k种颜色之一. 第i颗与第i-1,i+1颗珠子相邻,第n颗与第1颗也相 ...

  6. [Algorithms] Counting Sort

    Counting sort is a linear time sorting algorithm. It is used when all the numbers fall in a fixed ra ...

  7. slenium截屏

    创建全屏截屏: public static byte[] takeScreenshot(WebDriver driver) throws IOException { WebDriver augment ...

  8. 创建超小的Golang docker 镜像

    原文: http://colobu.com/2015/10/12/create-minimal-golang-docker-images/ 本文对于创建超小的镜像非常有用 Docker是PaaS供应商 ...

  9. 怎样优雅的管理ActionBar

    转载请标明出处: http://blog.csdn.net/hai_qing_xu_kong/article/details/50997095 本文出自:[顾林海的博客] 前言 随着项目越来越大.页面 ...

  10. python selenium 下载安装(一)

    1. python安装地址:https://www.python.org/downloads/windows/ 2. 下载想要安装的版本,建议3.5,3.6版本  3. 安装一路下一步(也可自定义安装 ...