当前位置:  技术问答>linux和unix

面试题

    来源: 互联网  发布时间:2015-11-01

    本文导语:  int a,b,c 请写函数实现C=a+b | a+b可能超过int的范围,也就是溢出。因此用意是考察思维是否周密。 | int c(int a, int b) {     if ((65535 - a) =0&&b0 && b>0)//同正判断 { if ((unsigned i...

int a,b,c 请写函数实现C=a+b

|
a+b可能超过int的范围,也就是溢出。因此用意是考察思维是否周密。

|
int c(int a, int b)
{
    if ((65535 - a) =0&&b0 && b>0)//同正判断
{
if ((unsigned int)c>>(sizeof(int) * 8 -1))//判断益出
return 1;
}
else 
return 0;
}

|
c本来就是个int,还什么溢出不溢出。多此一举。

很多算法巴不得这种溢出呐,呵呵。

除非像asm一样,设置个cf,供以后normalize用,否则这个东东有什么意义。

楼上这段气势磅礴的代码,非常吓人。

throw?是编译器都支持么?

long long?这是专门针对gcc的考题么?

飘过~~~~~~~~~~~~~~~~~~~~~~~~

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3