| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 953 人关注过本帖
标题:还能再提升吗?
取消只看楼主 加入收藏
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
结帖率:94.64%
收藏
已结贴  问题点数:20 回复次数:4 
还能再提升吗?
在下课时没事做写了一个字符串转换大小写的程序如下图所示:
            
图片附件: 游客没有浏览图片的权限,请 登录注册

目的主要是想以最有效率的方法来实现大小写转换。算法如下:
'A'的ASCII值为 65    0x41    01000001
'a'的ASCII值为 97    0x61    01100001
'B'的ASCII值为 66    0x42    01000002
'b'的ASCII值为 98    0x62    01100002
'C'的ASCII值为 67    0x43    01000003
'c'的ASCII值为 99    0x63    01100003
......
可见转换为大写时,只要把第6位置0即可,转换小写则相反。
在VS2010下运行结果如下图:
图片附件: 游客没有浏览图片的权限,请 登录注册

但是在转换时,字符串中包含有非字母字符时,不保证其完整性。
如:"Beautiful!" 在该字符串中,'\0'前的一个字符是'!',转换后可能'!'被换成了其它字符。

在这里的目的主要是想和大家讨论一下是否还有更高效率的方法来完成大小写的转换。
如有大虾相助,本人以分数致谢!

[ 本帖最后由 lz1091914999 于 2011-4-24 21:22 编辑 ]
搜索更多相关主题的帖子: 字符串 
2011-04-24 20:51
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
回复 2楼 voidx
你误会我的意思了,这个程序应用在一个字符串中,而不仅限于一个字符。而且位操作比算术操作的效率不是要高一点吗?
而且tolower和toupper对参数有了限制。

[ 本帖最后由 lz1091914999 于 2011-4-24 21:17 编辑 ]

My life is brilliant
2011-04-24 21:15
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
回复 4楼 卧龙孔明
我学过一点汇编,心里一直在想add必定是一个抽像。但是它用到的算法我却不知道,但位操作却更直观一点。

My life is brilliant
2011-04-24 21:20
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
肚子饿了,去吃宵夜了!

My life is brilliant
2011-04-24 21:24
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
其实想了想,我们编程的目的是为了解决某些问题,现在这个高速时代(除科学研究以外),对性能的要求不是太高了,而注重于程序的健壮性。在我所看的书籍中,外国程序员写的代码给我的感觉是很罗嗦,没有直接切入主题。而在国人写的书籍中,清晰的讲解了每个知识点,其中还包含一些算法的教学。但我却慢慢的习惯了罗嗦,觉得国人写的书籍不好阅读,外国人的代码中带着一丝幽默,比较符合我的性格。而且世界软件行业中,国人写的代码Bug最多,估计是在程序设计阶段没做好。在我身边的很多我认识的程序员都是直接写代码的。这个问题还得让我们国人好好想一想啊!

My life is brilliant
2011-04-25 19:34
快速回复:还能再提升吗?
数据加载中...
 
   



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

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