Redian新闻
>
经典题atoi的溢出处理 (转载)
avatar
经典题atoi的溢出处理 (转载)# Programming - 葵花宝典
d*e
1
诚聘一名保姆,周一至周五来家里做一顿晚饭,3个大人,一个小孩,家住san jose。
EMAIL:s*****[email protected], 工资面议。
谢谢!
avatar
c*5
2
成人,想治疗悲观和抑郁的问题。请大家帮忙推荐一下。谢谢
avatar
l*a
3
不好意思,问题比较菜。以前都是家里ld在填,我连税表长什么样儿都没见过。
他去年暑假去nj做的intern (算是外州),那1040nr是不是只填一个?两个w2的加一起,
州税表要分开填两个?一个本州一个nj的?
谢谢
avatar
W*F
4
请问是不是每个表格两张?
还有地址也很糊涂,485怎么跑到亚利桑那去了。
avatar
O*a
5
听昆曲了
清工
我准备弄点钱去研究这个
avatar
t*k
6

文革的故事(半夜鼠闹)
小李和小王都是物理系的高材生,二个人从来都是好朋友。他们从进学校起就住在一个
寝室,研究生时还是,后来都做了助教,只不过变成了房间里就只有他们了。
要是现在,有人会说他们在玩断臂山,但完全不是,因为他们同时爱上了一个外语系的
漂亮女生,最后是小李胜出。
这恐怕是与各自的成长环境有关。小王家里是书香门第,父母都是教授,因此一直比较
含蓄,相信路遥知马力,但却没料到路倒是遥,马却被别人先牵走了,知不知又有何用。
小李家里十分幸运,本来有些产业,雇了不少人,可是兵荒马乱,生意一路下滑,到了
49年,只剩下家里人维持住一个门面,定成分时就只是一个小业主,相当于现在的个体
户,没有雇人,就不是剥削阶级。就像我们知道的,赚钱是最不能含蓄的,因此小李一
阵强攻猛打,就把美人抱到了怀。
两人在学校里表现也大不一样,小李在政治上积极要求进步,小王则一直有些清高,只
想在学术上有所成就。但不管怎么说,两个人还是很要好的朋友,据说小李结婚的时候
,两个人都流了眼泪,说我们永远都是好朋友,然后把各自杯中的酒一饮而尽。
但那一年是1957。
结婚以后,小王搬了出去,那间宿舍自然就成了小李的新房。一天晚上,小李睡得正香
,突然被太太一脚踢醒,就听到她说:
“听。”
被人一脚踢醒,小李当然是满肚子的不高兴,还什么都没有听到,就很有些不耐烦地说:
“听什么听,你睡觉不要闹好不好。”
“你是一个死人啊,房间里有老鼠都不知道。”
说完就起身翻箱倒柜地找,最后在房间的一个角落找到了一窝刚出生小老鼠,全身还是
红红的,发出微弱的吱吱声。太太就埋怨道:
“这一定是你把吃的东西乱扔,你就不能像小王一样,总是干干净净,清清爽爽的。”
当然小李就更不高兴了,正想说凭什么你就一口认定是我呢,但这时大老鼠可能是发现
自己的窝被人翻了,回来叽哇乱叫,在旁边不停地窜来窜去。这时小李突然动了恻隐之
心,弯下腰去想把整个鼠窝拿起来,就听见太太说:
“你想干什么?”
“把它们拿到楼梯下面,母老鼠自然就跟着出去了。”
“你倒是一个好心人,对四害还怎么同情。”
说完就把鼠窝拖到房中间,拿起一只鞋,猛打几下,将大的小的统统消灭,然后说:
“怎么你还不如一个女子,把它们都拿出去扔了吧。”
等小李回来,却发现太太已经呼呼大睡,自己却怎么都没法睡着,就突然对小王有了怨
气,心想他还是和太太来往不少,怎么就不知道避一避嫌呢。
被新婚的妻子抢白了一顿,又加上一晚没怎么睡,第二天就是铁青着脸去上班,哪知一
到办公室,就被系里的书记找去谈话,总的意思就是:
现在党中央决定对右派分子的猖狂进攻进去反击,我们知道你一直要求入党,现在是考
验你的时刻来了。这个时候不能讲个人感情,你和小王一直关系很好,他就是一个白专
的典型。
小李知道书记和小王的导师不对劲,自己一直不愿意搅这一趟浑水,就说:
“前一段时间要求给领导提意见,小王好像什么都没有说。”
“什么都没有说,这难道不是问题吗?为什么不说,那是他认为跟我们不屑说,他从来
对我不理不睬,目中根本就没有党组织。他公开地不说,你和他长期住在一个屋子,我
就不相信他背后什么也不说!”
看到他还是不做声,书记就加重语气说到:
“我一直是很重视你的,想培养你,但就是怕你过不了这一关。想要入党,就是要只讲
党性,马克思主义者是为全人类服务的,对人是要讲线路的,你怎么选择,可是要当心
啊。”
到了开会的时候,小李先是跟着别人批判了某些人的右派言论,到了最后,看到书记鼓
励的目光,就突然说:
“我想跟小李提一点意见,我结婚时送给妻子一只手表,他却说当年他父亲送她母亲的
是瑞士名表,现在的大学老师比过去穷多了。”
书记马上就接过了话头,说现在有些年轻教师的思想很有问题,这就非常典型,看不到
共产党为工人农民翻了身,还有剥削阶级那种世界观。
小李却还在哪里糊涂着了,他自己都搞不清楚为什么会鬼使神差说这个事,这涉及到太
太,他正常情况下根本就不会说。这时正好到了吃午饭的时候,他想跟小王解释一下,
可小王一看到他就马上躲开了。
这一下不知为什么反而激怒他。书记倒是拍拍他的肩,说干得好,要他下午继续,于是
下午的会上他就加强火力,说了更多小王私下的话。
结果就是小王被系里定了右派,但是小王的导师很有来头,却去找了学校的一个副书记
,过去是他的学生,当然那时还是地下党,估计还说了两人争女朋友的事。副书记就说
,小王并没有公开说什么,至于背后的话,是不是确实,还是理解错误,这个不好说,
不能这样草草率率就给一个年轻人定性。
于是就把他从右派里拿了出来,定为中右,公开批判教育,也不让他上课了。小李则因
为在反右斗争中表现得好,马上入了党,后来就干得火火热热,开始走上了领导岗位。
至于小王,自然以后就再没有来找过小李夫妻,见面不过是点一个头,在后来的大跃进
中要求到了学校的工厂,离开了物理系,不知是有意还是无意,小李就很少会想到他,
太太也从来不提。
谁也不知道九年以后会有一个文革,这一下可真是天翻地覆,学校的领导,包括提拔小
李的书记,统统成为刘邓黑线的代表被斗得死去活来,小李也被陪斗,一次从台上摔了
下来,又没有及时治疗,从此腿就有一点跛。
小王那时不过是闲人一个,反倒没有受到什么冲击。不过有一回造反派在大会上批判小
李,他听着,听着就觉得是小王写的,一是那个文风听着熟,而且他认为小将们写不出
来;二是里面揭发他的一些言行,那必定是很熟悉他的人执的笔。但是他不能知道,也
不敢抬头看小王是不是在台下。
十年文革一结束,极缺老师,小王自然是归队回来教书,两人就又经常见面了,也时常
聊一会。小李倒是有点想知道那个批判稿是不是小李写的,他并不想生气,气已经生完
了,只想说,我打了你一下,你也还了我一报,我们就作一个了断算了。
但是小王根本不想谈过去的事情,他只要有这个意思,小王马上就会把话题岔开。他们
就只能之乎者也地说一些闲话,小李不由地想到,这个隔阂太大了,已不可能弥补,解
释这个东西是要有一点信任作为基础的,这样我怎么做都毫无用处。
心里的气就又来了,既然完全不相信我,这样就这样吧。他认为小王对自己的怨恨这么
大毫无道理,会不会成为右派,根本不是自己能说了算的,我不第一个说,一样会有人
说,又不是我给你上纲上线的,我不过说的是实话。况且你在文革中的落井下石,比我
要过分得多。
他那时认为那个批判发言稿,一定是小王写的,理由都摆在那里。
有一段时间,上面想让小李做行政领导工作,那时候好像是谁在文革中越倒霉,越容易
被提拔。但是太太坚决反对,说那时他被关起来的时候,听说他摔得不轻,想去看造反
派不许,要不是看着未成年的孩子,想死的心都有了,你的专业一直没有丢,又不是不
能教书,踏踏实实做本分事最好,你要是只是一个教师,文革怎么会倒那种霉,反正想
干的人多得是,干嘛去凑那个热闹。
于是他就放弃了,一方面在文革中,是太太支撑了这个家,对此自己总怀有歉意;再则
过去那几十年的起起伏伏,他怀疑自己并非是搞政治的料,缺乏那种心机。
不过小王倒是变了一个人,收起了那一副清高,跟上面走得近,于是步步登高,终于成
为了副校长,最后住进了校长楼。
有一天管行政的主任把他找去,用那种居高临下的口气祝贺他,说领导决定,把原来王
校长的房子分给他了。最后说,是王校长坚持这样安排的,他可是真正总想着你在啊。
主任的意思好像是自己得去感感恩。
那人是系里的老人,自然知道他和王的恩恩怨怨,那一下他心里就像打翻了调味瓶,什
么味道都有,就是没有了喜悦。
他回家告诉了太太,她倒是非常高兴,是那个房子是多么,多么好,一般的教授根本就
住不进去。看见他不发一语,就赶紧来好言好语地说:
“我一点都不羡慕老王,不值得。前几天碰到了他的太太,跟我诉苦,说老王一年有大
半时间在外面开会,就是在家,也是电话,来人不断,逢年过节都安生不得。有人说她
喜欢炫耀,我倒觉得是实话。
我现在就是想你能总在家里,把身体保好,就是不为我,为孩子们也是值得的。你年轻
的时候的理想不就是做一个知名教授,现在难道不是达到了吗。”
搬进去的第一天,太太大概是累了,上床就呼呼大睡,但他却怎么都翻来覆去地难以入
睡,想了很多,很多。
其实从一开始,他和小王都是存在着竞争关系的,现在变成了老王,这个竞争终于决出
了胜负。不过太太有点低估了他,他年轻的时候的理想可不止这样,想做中国的爱因斯
坦,现在想来,有一点好笑。他成不了爱因斯坦,时代不对,他出生前现代物理学就已
经建立了,至今仍然没有突破,他再有才能,也成不了爱因斯坦;而且到了今天,他知
道自己的才能也不够,小王也差不多。那么今天这个样子,他们谈不上有什么不满足。
就算没有那几十年的折腾,他们大概也只能就这个样子。真是“十年一觉扬州梦”,但
就在这时,他的腿却开始有些疼了,仿佛在提醒他过去的那些岁月并不是梦。
就在这个时候,他忽然听到隔壁房间的有吱吱声,轻声起床,顺着声音一路找过去,却
发现了一窝小老鼠,那一下他惊呆了,几十年前那一夜的情景好像又回来了。
他一辈子都是搞科学的,从来不相信什么鬼魂,预兆之类的东西,但突然还是有些毛骨
悚然。就在这时候,那个大老鼠接着又出现了。
他那一下再也受不了,满腔的怒火控制不住地爆发了。他顺手抓过一只儿子的网球拍,
将大老鼠拍死,想了一下,把一窝小老鼠拿到了阳台上,从厨房里拿来一个开水瓶,将
滚烫的水浇下去,直到声息全无。
当他抬头一看,才发现今天是月园之夜,一轮明月将无尽的光辉洒向万物,一栋栋楼房
,一丛丛树荫,一条条街道,显得那么寂静而安详,了无人迹而那么纯洁,意味深长,
他突然笑了。
而后回到床上,一下子睡过去,一夜无梦。
avatar
g*s
7
【 以下文字转载自 JobHunting 讨论区 】
发信人: gandjmitbbs (Nothing), 信区: JobHunting
标 题: 经典题atoi的溢出处理
发信站: BBS 未名空间站 (Tue Feb 22 21:40:03 2011, 美东)
int atoi(const char* s);
assuming INT_MAX = 2^31-1, INT_MIN = -2^31, the following must hold:
atoi("2147483648") = 2147483647
atoi("-2147483649") = -2147483648
but this seems a little tricky. any elegant solution to handle the
overflow?
avatar
t*8
8
没错。6张照片
avatar
G*h
9
带研究生不?
什么时候给大家show一下?
另:
您这个插图里面的毛长得真有水平,自然成形还是高级发廊做过的? :)

【在 O*****a 的大作中提到】
: 听昆曲了
: 清工
: 我准备弄点钱去研究这个

avatar
b*l
10
哈哈!好玩儿
avatar
g*s
11
this is my solution casting an unsigned int to an int. but gcc gives me
warning:
string_api.cpp: In function ‘bool overflow(unsigned int, bool, char)’:
string_api.cpp:330: warning: integer overflow in expression
string_api.cpp: In function ‘int str2int(const char*)’:
string_api.cpp:346: warning: integer overflow in expression
explict type casting can fix the warning. but i don't like this solution
very much. anyone has a better alternative?
static
bool overflow(unsigned int val, bool negative, char c) {
return val > (negative ? INT_MAX + 1 : INT_MAX); // line 330
}
int str2int(const char* str) {
if ( str == NULL || str[0] != '+' && str[0] != '-' &&
!isdigit(str[0]) ) {
return 0;
}
int idx = 0;
bool negative = (str[0] == '-');
if ( negative ) {
idx ++;
}
unsigned int val = 0;
while ( isdigit(str[idx]) ) {
unsigned int next_val = 10 * val + char2int(str[idx]);
if ( overflow(next_val, negative, str[idx]) ) {
val = negative ? INT_MAX + 1 : INT_MAX; // line
346
break;
}
else {
val = next_val;
}
idx ++;
}
return (negative ? -val : val);
}

【在 g*********s 的大作中提到】
: 【 以下文字转载自 JobHunting 讨论区 】
: 发信人: gandjmitbbs (Nothing), 信区: JobHunting
: 标 题: 经典题atoi的溢出处理
: 发信站: BBS 未名空间站 (Tue Feb 22 21:40:03 2011, 美东)
: int atoi(const char* s);
: assuming INT_MAX = 2^31-1, INT_MIN = -2^31, the following must hold:
: atoi("2147483648") = 2147483647
: atoi("-2147483649") = -2147483648
: but this seems a little tricky. any elegant solution to handle the
: overflow?

avatar
d*c
12
尽管我有不同理解……但是还是准备提交6张算了……汗😓
理由来自网上随便搜到的这句话:
“But wait, here’s a benefit! (A small one.) If you were to submit separate
applications for and EAD and for AP, you would need to include two
identical, passport-style photos with each application. These usually need
to be professionally done, in order to meet the size and other requirements.
But when filing the two applications concurrently for the combo card, you
need to provide only two photos.”
https://www.nolo.com/legal-encyclopedia/what-s-i-765-eadap-combo-card.html
avatar
b*s
13
去那个银行踩点了?

听昆曲了
清工
我准备弄点钱去研究这个

【在 O*****a 的大作中提到】
: 听昆曲了
: 清工
: 我准备弄点钱去研究这个

avatar
m*a
14
楼主老粉丝来捧场。
avatar
t*t
15
mixing unsigned and int in one expression, and rely on implicit type
conversion is dangerous. better do explicit type conversion.
remember: numeric literal has type as well. 1, 1U, 1L, 1UL, 1.0, 1.0F are
all different types.

【在 g*********s 的大作中提到】
: this is my solution casting an unsigned int to an int. but gcc gives me
: warning:
: string_api.cpp: In function ‘bool overflow(unsigned int, bool, char)’:
: string_api.cpp:330: warning: integer overflow in expression
: string_api.cpp: In function ‘int str2int(const char*)’:
: string_api.cpp:346: warning: integer overflow in expression
: explict type casting can fix the warning. but i don't like this solution
: very much. anyone has a better alternative?
: static
: bool overflow(unsigned int val, bool negative, char c) {

avatar
b*g
16
两张

【在 W*F 的大作中提到】
: 请问是不是每个表格两张?
: 还有地址也很糊涂,485怎么跑到亚利桑那去了。

avatar
C*a
17
介绍几个啊。。。我好像欣赏不了。。。
=(

【在 O*****a 的大作中提到】
: 听昆曲了
: 清工
: 我准备弄点钱去研究这个

avatar
C*e
18
挺想看看一窝刚出生的小耗子是啥样子的
avatar
c*b
19
把每个string分成2半转换,然后合起来?
比如 2147483648, 分成2个string 214748 和3648,分别转换成int,然后合起来.

【在 g*********s 的大作中提到】
: this is my solution casting an unsigned int to an int. but gcc gives me
: warning:
: string_api.cpp: In function ‘bool overflow(unsigned int, bool, char)’:
: string_api.cpp:330: warning: integer overflow in expression
: string_api.cpp: In function ‘int str2int(const char*)’:
: string_api.cpp:346: warning: integer overflow in expression
: explict type casting can fix the warning. but i don't like this solution
: very much. anyone has a better alternative?
: static
: bool overflow(unsigned int val, bool negative, char c) {

avatar
z*i
20
bso可以申请玩乐funding啊。

【在 O*****a 的大作中提到】
: 听昆曲了
: 清工
: 我准备弄点钱去研究这个

avatar
B*w
21
你要是在纽约,抽个时间我带你看个够

【在 C**********e 的大作中提到】
: 挺想看看一窝刚出生的小耗子是啥样子的
avatar
g*s
22
thx for the reminder. yes, it's not a good idea to mixed up unsigned int
and int.

are

【在 t****t 的大作中提到】
: mixing unsigned and int in one expression, and rely on implicit type
: conversion is dangerous. better do explicit type conversion.
: remember: numeric literal has type as well. 1, 1U, 1L, 1UL, 1.0, 1.0F are
: all different types.

avatar
l*r
23
哈哈

【在 O*****a 的大作中提到】
: 听昆曲了
: 清工
: 我准备弄点钱去研究这个

avatar
w*r
24
very nice article, thanks.

用。

【在 t**********k 的大作中提到】
:
: 文革的故事(半夜鼠闹)
: 小李和小王都是物理系的高材生,二个人从来都是好朋友。他们从进学校起就住在一个
: 寝室,研究生时还是,后来都做了助教,只不过变成了房间里就只有他们了。
: 要是现在,有人会说他们在玩断臂山,但完全不是,因为他们同时爱上了一个外语系的
: 漂亮女生,最后是小李胜出。
: 这恐怕是与各自的成长环境有关。小王家里是书香门第,父母都是教授,因此一直比较
: 含蓄,相信路遥知马力,但却没料到路倒是遥,马却被别人先牵走了,知不知又有何用。
: 小李家里十分幸运,本来有些产业,雇了不少人,可是兵荒马乱,生意一路下滑,到了
: 49年,只剩下家里人维持住一个门面,定成分时就只是一个小业主,相当于现在的个体

avatar
b*s
25
发廊只做发吧,毛好像是另外有专门的地方做……

带研究生不?
什么时候给大家show一下?
另:
您这个插图里面的毛长得真有水平,自然成形还是高级发廊做过的? :)

【在 G*******h 的大作中提到】
: 带研究生不?
: 什么时候给大家show一下?
: 另:
: 您这个插图里面的毛长得真有水平,自然成形还是高级发廊做过的? :)

avatar
H*o
26
还没开眼的老鼠好吃。开水一烫,蘸酱油吃。可好吃了。扔了可惜了。
avatar
c*a
27
nnd
avatar
h*i
28
e

【在 H********o 的大作中提到】
: 还没开眼的老鼠好吃。开水一烫,蘸酱油吃。可好吃了。扔了可惜了。
avatar
b*l
29
像花生米一样 :)

【在 C**********e 的大作中提到】
: 挺想看看一窝刚出生的小耗子是啥样子的
avatar
o*e
30
我没有看懂,有人能分析一下吗?

用。

【在 t**********k 的大作中提到】
:
: 文革的故事(半夜鼠闹)
: 小李和小王都是物理系的高材生,二个人从来都是好朋友。他们从进学校起就住在一个
: 寝室,研究生时还是,后来都做了助教,只不过变成了房间里就只有他们了。
: 要是现在,有人会说他们在玩断臂山,但完全不是,因为他们同时爱上了一个外语系的
: 漂亮女生,最后是小李胜出。
: 这恐怕是与各自的成长环境有关。小王家里是书香门第,父母都是教授,因此一直比较
: 含蓄,相信路遥知马力,但却没料到路倒是遥,马却被别人先牵走了,知不知又有何用。
: 小李家里十分幸运,本来有些产业,雇了不少人,可是兵荒马乱,生意一路下滑,到了
: 49年,只剩下家里人维持住一个门面,定成分时就只是一个小业主,相当于现在的个体

avatar
p*e
31
小李是四个人,
小王是个子矮。

【在 o******e 的大作中提到】
: 我没有看懂,有人能分析一下吗?
:
: 用。

avatar
o*e
32
唉,我的理解能力太差了,这下连你的分析都看不懂了。

【在 p*********e 的大作中提到】
: 小李是四个人,
: 小王是个子矮。

avatar
m*3
33
两次老鼠都是小王捣鬼?
avatar
x*r
34
I sent you a 站内mail
是您的读者, 很景仰您的学问文笔,
But this is not the reason I 打扰您这位产出美味鸡蛋的鸡
The reason I want to ask you favor is
My 20 months son ate a bite of soap Sunday morning, and had favor after nap
The fervor gone after 24 hours,
I just fun his齿印onthesoap tonight, did not call ped yet
And he behave noise at night several nights already. so I am asking that
after your eating soap bubblegum made your sister, were you fine? Any
medical care?
Sorry to disturb you

用。

【在 t**********k 的大作中提到】
:
: 文革的故事(半夜鼠闹)
: 小李和小王都是物理系的高材生,二个人从来都是好朋友。他们从进学校起就住在一个
: 寝室,研究生时还是,后来都做了助教,只不过变成了房间里就只有他们了。
: 要是现在,有人会说他们在玩断臂山,但完全不是,因为他们同时爱上了一个外语系的
: 漂亮女生,最后是小李胜出。
: 这恐怕是与各自的成长环境有关。小王家里是书香门第,父母都是教授,因此一直比较
: 含蓄,相信路遥知马力,但却没料到路倒是遥,马却被别人先牵走了,知不知又有何用。
: 小李家里十分幸运,本来有些产业,雇了不少人,可是兵荒马乱,生意一路下滑,到了
: 49年,只剩下家里人维持住一个门面,定成分时就只是一个小业主,相当于现在的个体

avatar
q*e
35
刚出生的小耗子,粉红粉红半透明的。闭着眼睛,像人胚胎早期的样子。非常可爱。
长成耗子就恶心了。

【在 C**********e 的大作中提到】
: 挺想看看一窝刚出生的小耗子是啥样子的
avatar
E*u
36
赞,好文章。标题严格来说,应该是反右到文革的故事。
问一下,小王后来结婚了吗?

用。

【在 t**********k 的大作中提到】
:
: 文革的故事(半夜鼠闹)
: 小李和小王都是物理系的高材生,二个人从来都是好朋友。他们从进学校起就住在一个
: 寝室,研究生时还是,后来都做了助教,只不过变成了房间里就只有他们了。
: 要是现在,有人会说他们在玩断臂山,但完全不是,因为他们同时爱上了一个外语系的
: 漂亮女生,最后是小李胜出。
: 这恐怕是与各自的成长环境有关。小王家里是书香门第,父母都是教授,因此一直比较
: 含蓄,相信路遥知马力,但却没料到路倒是遥,马却被别人先牵走了,知不知又有何用。
: 小李家里十分幸运,本来有些产业,雇了不少人,可是兵荒马乱,生意一路下滑,到了
: 49年,只剩下家里人维持住一个门面,定成分时就只是一个小业主,相当于现在的个体

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。