| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2068 人关注过本帖
标题:c 语言 转换 BCD 字符串
只看楼主 加入收藏
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
回复 10楼 wpzqyjever
对这就是编码,编码对写程序还会带来很多麻烦的,以后你就会慢慢遇到。

My life is brilliant
2011-08-16 19:44
wpzqyjever
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-8-16
收藏
得分:0 
回复 9楼 lz1091914999
恩,int 1 在内存的ASC码为 0x31,这个我知道,现在就是char *p =“1234”,怎么能把12直接转换成0x12 0x34,谢谢赐教!
2011-08-16 19:48
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
用指针取第一个字符减'0',结果乘10,指针下移一位,仍然取字符减'0',加前面的结果,就是12。如此类推。

取字符串的阿拉伯数字值,是*p - '0'。你可以检验:假如*p恰好是'0',那么'0'-'0'的值必然是0,不用管'0'的实际编码是多少,这个计算一定准确的。最好不要自作聪明,写什么*p - 48。

授人以渔,不授人以鱼。
2011-08-16 19:56
leaf_yyl
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:19
专家分:104
注 册:2011-8-13
收藏
得分:7 
short i;
char *number;
number=(char*)malloc(len);
for (i=0;i<len;i++)        //len为你的字符串长度
{   
    if(i%2==0)
        number[i/2]=(p[i]-‘0’);
    else   
        number[i/2]=number[i/2]<<4+p[i]-‘0’;
}
不知道number里存得是不是你想要的东西

[ 本帖最后由 leaf_yyl 于 2011-8-16 20:04 编辑 ]
2011-08-16 20:01
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
除13楼的方法外还可以用stdlib里面的atoi或atol,有空看看这个吧:
CLib.chm (121.95 KB)

My life is brilliant
2011-08-16 20:05
wpzqyjever
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-8-16
收藏
得分:0 
好的,谢谢大家了
2011-08-16 20:18
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
是的,stdlib库中有许多这种转换函数,转整数的、转浮点都有。所以我以前说过,手头最好有一本《库函数手册》,如果没有,就只能自力更生了——学C的目的,其实就是能够在拥有最少资源的情况下实现功能。某些必备的库函数是必须用的,可以不用scanf()、printf(),但必须用getchar()、getch()、putch()、putchar()这样的函数,这些自己做不来,也无需做,但前者是可以被后者取代的。

写控制台程序,要实现良好的人机交互界面,至少要能够做到如下几件事,否则不要幻想写得出好看的程序:
1.把屏幕弄干净,包含清屏、清一行;
2.光标任意定位;
3.能够逐个字符输出到屏幕上,以及从键盘逐个按键读入数据;
4.纯英文控制台要输出汉字,必须能够设置屏幕到绘图状态,自己画点描图,如此,应附加了解字库结构和字形分析,点阵字库是最基本的。

授人以渔,不授人以鱼。
2011-08-16 20:19
y515382
Rank: 2
等 级:论坛游民
帖 子:38
专家分:16
注 册:2011-7-9
收藏
得分:0 
o 之前也碰到一个这样的问题不会
2011-08-16 21:06
快速回复:c 语言 转换 BCD 字符串
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012968 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved