字符转整型,比系统的好用!a2iLxx (涵盖 16进制,VC6亲测可用)请提出宝贵意见~
来源:互联网 发布:淘宝店铺层级流量分配 编辑:程序博客网 时间:2024/05/07 11:37
#include "string.h"#define INVALID_VALUE_LXX((1 << (8 * sizeof(int) -1)) - 1)/*有符号整型最大值,如果越界将为0, and - is prioty of <<*/#define A2a(ch) (('a' <= (ch) && (ch) <= 'f') ? (ch) : ((ch) - 'A' + 'a'))bool is0to9(char ch){if ('0' <= ch && ch <= '9'){return true;}else{return false;}}bool isatoF(char ch){if (('a' <= ch && ch <= 'f') || ('A' < ch && ch <= 'F')){return true;}else{return false;}}int a2iLxx(char* ch){int index = 0;int retVal = 0;bool flag = false;if (NULL == ch){return INVALID_VALUE_LXX;}/*Ox*/if ('0' == ch[0] && ('x' == ch[1] || 'X' == ch[1])){index = 2;for (; ch[index] != '\0'; index++){/* x * 2^y == x * 1 << y */if (is0to9(ch[index])){retVal = (retVal << 4) + ch[index] - '0';continue;}if (isatoF(ch[index])){retVal = (retVal << 4) + 10 + A2a(ch[index]) - 'a';continue;}return INVALID_VALUE_LXX;}return retVal;}/*10*/index = 0;if ('-' == ch[0]){/*负数*/flag = true;index = 1;}for (; ch[index] != '\0'; index++){if (!is0to9(ch[index])){return INVALID_VALUE_LXX;}retVal = retVal * 10 + ch[index] - '0';}if (flag){return -retVal;}else{return retVal;}}void main(){char ch1[] = "123";char ch2[] = "-234";char ch3[] = "0";char ch4[] = "0x123";char ch5[] = "0xff";int a = INVALID_VALUE_LXX;char d1 = A2a('a');char d2 = A2a('B');/*调试查看值*/a = a2iLxx(ch1);a = a2iLxx(ch2);a = a2iLxx(ch3);a = a2iLxx(ch4);a = a2iLxx(ch5);}
1 0
- 字符转整型,比系统的好用!a2iLxx (涵盖 16进制,VC6亲测可用)请提出宝贵意见~
- 字符转整型,比系统的好用!a2iLxx
- 欢迎提出宝贵意见
- j2me做的一个时钟(请大家提出改进意见)
- 费时一个半月的倾力之作Maths,请各位给出宝贵意见
- 有什么可以改进的地方,请提出来,谢谢你们的帮忙和意见
- 大家好,我的博客地址是http://wisdomhr.mypm.net(有很多文章都是我个人所创,职场心得,欢迎各位提宝贵意见!)
- IT生活帮网站演示版成型,希望各位朋友多多提出宝贵意见
- 手机游戏UI设计器V1.3版本发布,欢迎大家试用提出宝贵意见
- 2012暑假集训多校联合比赛安排说明(新)欢迎各位提出宝贵意见
- 《iOS开发指南》正式出版-源码-样章-目录,欢迎大家提出宝贵意见
- Qt入门视频教程(录制中。。。)提出你宝贵的建议吧
- spring.net框架开发合并PDF文件程序,请大家多提宝贵意见
- 《零基础学Qt 4编程》准备再版,近期重印。请大家提宝贵意见,谢谢。
- 用链表编写学生管理系统(涵盖文件的输入输出)
- 想做一个 基于安卓的智能手机校园订餐系统 求各位大神指导 提供宝贵意见 感谢你们!
- 最新CC++函数与算法速查大辞典 中国铁道出版社 上线了请大家关注,多提宝贵意见
- 参加第二届“中国软件杯”全国大学生软件设计大赛三等奖——超级记事本,大家可以试用一下,提出宝贵意见
- 编写一个程序,将e:\java目录下的所有.java文件复制到e:\jad目录下
- hdu1264(hash)
- 警惕细节,NavigationController的delegate代理方法注意问题
- shell学习总结
- 递推公式的优化——矩阵乘方
- 字符转整型,比系统的好用!a2iLxx (涵盖 16进制,VC6亲测可用)请提出宝贵意见~
- 动态规划——最长公共子序列问题
- 黑马程序员:OC学习日记之核心语法一
- ubuntu14.04中文输入法安装
- 零基础学习hadoop到上手工作线路指导(中级篇)【转】
- 讲的比较好的分区概念
- block实现
- Gas Station
- http协议