采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
intToString方法中对负数的处理
if(num < 0){ num = -num; sign = "-"; }
这里如果num是最小负值Integer.MIN_VALUE的时候会有溢出的问题吗?
赞!
本质是产生溢出了,但无论是C++还是Java都不会产生中断错误,只会产生不正确的结果:)
在我们这一小节,主要是为了演示时间复杂度的不同,没有考虑整形溢出的边界。有兴趣可以自己添加上对这个边界的判断?具体的处理,在判断出溢出的情况下,可以抛出异常中断程序,也可以转换成long整型完成逻辑:)试试看?
加油!
老师,我在VS2010中测试,转换成long long int可以实现最小int值用取反操作符求得正确正值。long和int同样是4个字节,所以结果和int一样。
赞!我说的long整型,在C++中就是long long,在Java中是long,不同的语言定义不同(而且和操作系统相关),所以统一描述表示成“长整型”,不是具体的语法:)
谢谢老师:)
登录后可查看更多问答,登录/注册
课程配套大量BAT面试真题,高频算法题解析,强化训练
1.1k 13
1.1k 12
653 11
1.5k 10
1.2k 10