由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 如何判断char的赋值有没有溢出
相关主题
atoi的溢出处理的想法看到一个c的面试题,求教。
问个《编程实践》(英文版)里面的问题问个面试时候hash table的C++实现问题
MS interview question帮忙看看我写的atoi有没有bug, 谢谢
问个bit struct的面试题 急微软SDE onsite面经及咨询
MS电面函数atoi的实现
离奇的Amzaon第一轮电面atoi overflow怎么办?
请问在程序中怎么测试是否整数溢出void * 和 char * 有区别吗?
A simple interview question我的几个面试算法解答。
相关话题的讨论汇总
话题: char话题: foo话题: 128话题: 溢出话题: 127
进入JobHunting版参与讨论
1 (共1页)
l******d
发帖数: 530
1
考虑这个函数
void foo(char c){
...
}
如果用户传递个大于127的值给c,比如 foo(128),在foo里c是溢出的,得到的值是-
128。如果用户在调用foo前判断传给c的值是不是大于127或小于-128很容易,有没有办
法在foo里检测传给c的值是溢出的呢,就是说,不依赖于函数的用户去检测溢出。
l*********8
发帖数: 4642
2
应该没有办法。 foo()知道的就是char, 不知道之前有没有经过数据类型转换。

【在 l******d 的大作中提到】
: 考虑这个函数
: void foo(char c){
: ...
: }
: 如果用户传递个大于127的值给c,比如 foo(128),在foo里c是溢出的,得到的值是-
: 128。如果用户在调用foo前判断传给c的值是不是大于127或小于-128很容易,有没有办
: 法在foo里检测传给c的值是溢出的呢,就是说,不依赖于函数的用户去检测溢出。

l******d
发帖数: 530
3
用inline assembly,测试Overflow flag应该可以,但面试题应该不至于考那么细节吧

【在 l*********8 的大作中提到】
: 应该没有办法。 foo()知道的就是char, 不知道之前有没有经过数据类型转换。
h*****f
发帖数: 248
4
Hmm...a char can hold 0x0-0xFF. 128=0x80...so no overflow..
I guess the question is to detect whether the input occupies more than 1
byte?
You probably could *if* it were foo(char*) or foo(char&).
f*******n
发帖数: 12623
5
"unsigned char" can hold 0 - 255
"signed char" can hold -128 to 127
"char" can be either signed or unsigned char, depending on the
implementation

【在 h*****f 的大作中提到】
: Hmm...a char can hold 0x0-0xFF. 128=0x80...so no overflow..
: I guess the question is to detect whether the input occupies more than 1
: byte?
: You probably could *if* it were foo(char*) or foo(char&).

h*****f
发帖数: 248
6
right, remembered when I hit my bed..lol
i*****r
发帖数: 265
7
You should not consider this case. Caller should ensure that. Plus, compiler
should warn on your input.
1 (共1页)
进入JobHunting版参与讨论
相关主题
我的几个面试算法解答。MS电面
这个题有什么好办法。(找出 5^1234566789893943的从底位开始离奇的Amzaon第一轮电面
问一个Random Number 问题请问在程序中怎么测试是否整数溢出
问一个有关c++ strcmp的问题A simple interview question
atoi的溢出处理的想法看到一个c的面试题,求教。
问个《编程实践》(英文版)里面的问题问个面试时候hash table的C++实现问题
MS interview question帮忙看看我写的atoi有没有bug, 谢谢
问个bit struct的面试题 急微软SDE onsite面经及咨询
相关话题的讨论汇总
话题: char话题: foo话题: 128话题: 溢出话题: 127