文档章节

my_atoi

 小龙Jason
发布于 2014/05/29 22:48
字数 86
阅读 2
收藏 0

听了atoi哥的故事,顺手写个

#define INT_MAX  (2147483647)
#define INT_MIN  (-2147483648)

int my_atoi(const char * str)
{
	if (!str)
		return 0;

	unsigned int result = 0;
	int sign = 1;

	if (*str == '-' || *str == '+')
	{
		if (*str == '-')
		{
			sign = -1;
		}
		++str;
	}

	while(*str >= '0' && *str <= '9')
	{
		unsigned int digital = *str-'0';
		if (result > INT_MAX /10
			|| (sign > 0)? (result == INT_MAX/10 && digital > INT_MAX%10) 
			:  (result == (INT_MAX +1)/10 && digital > (INT_MAX+1)%10) 
			)
		{
			return sign > 0 ? INT_MAX : INT_MIN;
		}
		result = result*10 + digital
		++str;
	}

	return ((int)result) * sign;
}

© 著作权归作者所有

共有 人打赏支持
粉丝 0
博文 10
码字总数 2794
作品 0
海淀
程序员
LeetCode:String to Integer (atoi) - 字符串到数字的转换

1、题目名称 String to Integer (atoi) (字符串到数字的转换) 2、题目地址 https://leetcode.com/problems/string-to-integer-atoi/ 3、题目内容 英文:Implement atoi to convert a strin......

北风其凉
2015/07/31
0
0
字符串与其他基本类型的转换——从C到C++11

转自 IBM 编译器中国开发团队的《C++11中的string - atoi/itoa》 在C++11中,由于右值引用的引入,常为人所诟病std::string的性能问题得到了很大的改善。另外一方面,我们也可以看到新语言为...

人不知
2014/09/19
0
2
C/C++ atoi、atof与itoa函数的实现

1.atoi(ascii to integer)是把字符串转换成整型数的一个函数.atoi()函数会扫描参数 nptr字符串,跳过前面的空白字符(例如空格,tab缩进等)。 int atoi(char s[]){int i, n;n = 0;for (i = 0...

GUI1259802368
2017/10/07
0
0
C Primer Plus 第11章 11.9 把字符串转换为数字

数字即能以字符串形式也能 以数字形式存储。以字符串形式存储数字就是存储数字字符。例如,数字213即能以数字'2'、‘1’、‘3’、‘0’的形式存储在一个字符串数组中。以数字形式存储213意味...

idreamo
2016/08/29
28
0
CString,int,string,char*之间的相互转换

string 转 CString CString.format("%s", string.cstr()); char 转 CString CString.format("%s", char); char 转 string string s(char ); string 转 char char p = string.cstr(); CString......

IMGTN
2012/05/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Java IO类库之PrintStreamWriter

* A <code>PrintStream</code> adds functionality to another output stream, * namely the ability to print representations of various data values * conveniently. Two other fea......

老韭菜
今天
0
0
qduoj~前端~二次开发~笔记

青岛大学qdu的onlinejudge是js的写的前端,框架是vue.js,在nodejs上部署运行,其实整体运行还是建立在docker的容器虚拟环境里,这里暂时不需要docker。安装环境是Ubuntu14-64bit 1.安装一大...

虚拟世界的懒猫
今天
6
0
ConcurrentHashMap源码解读

部分内容转自:http://jiabinyuan.xyz/#/app/archive/detail/25 内部结构 内部采用了segment结构,每一个segment相当于一个hashtable。看下面的结构图: 从图的结构我们可以了解到,Concurr...

edwardGe
今天
1
0
Ubuntu终端Tab键自动补全

打开 /etc/bash.bashrc,找到下列代码,取消注释。 #enable bash completion in interactive shells#if ! shopt -oq posix; then# if [-f /usr/share/bash-completion/bash_compl......

大熊猫
今天
0
0
polipo socks5代理转http代理

天朝的网络,哎~ 装个 yarn 都时而会卡 假设在SSlocal 已经装好运行的前提下,来安装设置 polipo sudo apt-get install polipo sudo vim /etc/polipo/config 追加下列配置内容,并保存 socksP...

纯洁徐
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部