integer-overflow

    7热度

    4回答

    这个快速排序应该按照升序排列“v [left] ... v [right]”;从C程序设计语言复制(没有评论)的K & R(第二版): void qsort(int v[], int left, int right) { int i, last; void swap(int v[], int i, int j); if (left >= right)

    14热度

    3回答

    可能重复: Addition of two chars produces int 鉴于以下C++代码: unsigned char a = 200; unsigned char b = 100; unsigned char c = (a + b)/2; 的输出是150 逻辑预期,然而在表达式中不应该存在整数溢出? 显然必须有一个整数提升来处理这里的溢出,或者是其他的事情我看不到。我想知道

    2热度

    3回答

    我正在托管WCF服务作为托管Windows服务,并且当消费者/客户端第二次,第三次或第四次调用其方法时,我不断收到AccessViolationException。崩溃是完全随机的,所以有时它可能不会崩溃,直到稍后再进行多次调用。 这里的语法高亮以方便您阅读代码:http://pastebin.com/Z3Z06944 看到周围的私有方法“CheckUser”的评论,因为这是在异常可能会发生。

    3热度

    2回答

    我正在使用Spring MVC 3.0.5。 Spring很高兴地忽略了映射到Integer的字段的整数溢出。我该如何报告适当的错误?

    15热度

    5回答

    有检查时,乘法运算在C或的int64_t操作数uint64_t中溢出的任何有效和可移植的方式? 例如,对于另外uint64_t中的我可以这样做: if (UINT64_MAX - a < b) overflow_detected(); else sum = a + b; 但我不能得到一个类似的简单表达乘法。 所有这一切发生,我更是打破了操作数分为高,低uint32_t的部分和执行这些部分在检

    8热度

    4回答

    最近,我们在一些旧代码中发现了奇怪的行为。这段代码已经工作了很长时间,但在某些平台(XBox 360,PowerPC)上打开了,编译器优化功能打开了最大值。通常,我会怀疑未定义的行为。 代码看起来大致是这样的: #include <stdint.h> uint32_t sign_extend16(uint32_t val) { return (int32_t)(int16_t)val

    4热度

    7回答

    范围我有int值 int x=2147483647; /*NO Error--this number is the maximum range of int value no error*/ int y=2147483648; /*Error--one more than the maximum range of int*/ int z=214748

    3热度

    2回答

    是以下内容的高效和问题,免费的方式,一个unsigned int转换为int在C++: #include <limits.h> void safeConvert(unsigned int passed) { int variable = static_cast<int>(passed % (INT_MAX+1)); ... } 还是有更好的办法? UPDATE 正如指

    69热度

    5回答

    我注意到了一些意想不到的行为(与我个人的预期相关),并且我想知道如果JVM中存在某个错误,或者这是一个附带案例,我不理解其中的一些细节究竟应该发生什么。假设我们本身有一个主要方法如下代码: int i; int count = 0; for(i=0; i < Integer.MAX_VALUE; i+=2){ count++; } System.out.println(i++);

    8热度

    3回答

    是否可以执行argc = 0的进程?我需要执行一个程序,但它的argc等于0是非常重要的。有没有办法做到这一点? 我试图把2^32参数放在命令行中,这样看起来就好像argc = 0一样,但是参数的数量有一个最大限制。