首页 > TAG信息列表 > integer-overflow

Python:减法时溢出

import cv2 image1 = cv2.imread('one.jpg', 0) image2 = cv2.imread('two.jpg', 0) diff = image1 - image2 对于上面的代码,对于某些值,由于减法而发生溢出. 例如: 238-254 = 240 我该如何防止这种溢出,而是得到-16作为答案?解决方法:因此,在提供cv2模块之后,这是优化的答案.

整数会在Python中溢出吗?

这个问题已经在这里有了答案:            >            Python integer ranges                                    1个 在Java之类的语言中,整数值一旦大于Integer.MAX_VALUE或小于Integer.MIN_VALUE,就会溢出.我看

python-将非常大的基数n转换为字节

我在n进制中有一个很大的数字(n由用户指定),存储为一个数组,每个元素代表一个数字. u [0]是最高的数字,u [1]是第二高的数字,u [-1]是最低的数字,依此类推.前导零被认为是没有意义的:例如,如果n为8,则[0,0,0,4,7,3]等于[4,7,3]且都等于(473)以8为底,或者在基数10中为315,在十六进制

为什么<< 32在javascript中不会导致0?

这是错误的: (0xffffffff << 31 << 1) === (0xffffffff << 32) 看来应该是对的.添加>>> 0在任何地方都不会改变这一点. 为什么会这样以及如何正确编写处理<< 32?解决方法:移位运算符始终有效地在0-31范围内具有正确的操作数. 从the Mozilla docs开始: Shift operators convert the

c – 无符号算术和整数溢出

我试图理解算术溢出.假设我有以下, unsigned long long x; unsigned int y, z; x = y*z; y * z可能导致整数溢出.将其中一个操作数强制转换为unsigned long long可以缓解此问题. 64位操作数与32位操作数相乘的预期结果是什么?解决方法: unsigned long long x; unsigned int y, z;

C整数溢出

我刚刚开始自学C,并开始学习整数溢出.出于好奇,我写了一些测试,只是为了看看某些整数值会发生什么. 这是我的计划: #include <iostream> int main() { int x(0); std::cout << x << std::endl; x = x + 2147483647; std::cout << x << std::endl; x = x + 1

c – 为什么(18446744073709551615 == -1)是真的?

当我在使用string :: npos时,我发现了一些东西,我在网上找不到任何解释. (string::npos == ULONG_MAX) 和 (string::npos == -1) 是真的. 所以我尝试了这个: (18446744073709551615 == -1) 这也是事实. 怎么可能?是因为二元对话吗?解决方法:18,446,744,073,709,551,615 提到的这

java – 如何在32位int上检测整数溢出?

我知道这样的话题被问过好几次,但我的问题是关于整个32位int的溢出.例如: 11111111111111111111111111111111 + 00000000000000000000000000000001 = 00000000000000000000000000000000 //overflow! 我发现topic有类似的问题,但算法并不完美. 111111111111111111111111

C安全整数转换的模板

我正在尝试编写一个C模板函数,它将在不同整数类型之间的转换中的整数溢出上抛出运行时异常,具有不同的宽度,以及可能的有符号/无符号不匹配.出于这些目的,我不关心从浮点类型转换为整数类型,也不关心其他对象到对象的转换.我想这样做而不必写很多特殊的案例代码.这就是我目前拥有的

为什么,在Java算法中,溢出或下溢永远不会抛出异常?

在Java算术运算期间,JVM不会抛出下溢或溢出异常.很多时候,我们遇到了意想不到的结果,并想知道出了什么问题. 在.NET技术的情况下,我们有溢出和Undeflow异常. 所以我的问题是,为什么Java设计不会在算术运算期间抛出此异常解决方法:这可能是多种因素的组合: > Java之前的大型语言使用

允许C/C++中的有符号整数溢出

我希望签名整数在它们变得太大时溢出.如何在不使用下一个最大数据类型的情况下(或者当我已经在int128_t时)实现这一目标? 例如,使用8位整数19 * 12通常为260,但我希望结果为1 11 10 01 00,第9位被截止,因此为-27.解决方法:在C和that’s for real中未定义有符号溢出. 一个解决方案如

c – 如何检测无符号整数乘法溢出?

我在C中编写一个程序来查找ab = c的所有解,其中a,b和c一起使用所有数字0-9.程序循环使用a和b的值,并且每次在a,b和ab上运行数字计数例程以检查数字条件是否满足. 但是,当ab溢出整数限制时,可能会生成虚假解决方案.我最终使用以下代码检查: unsigned long b, c, c_test; ... c_test=

如何捕获Spring MVC中的Integer溢出错误?

我使用的是Spring MVC 3.0.5. Spring愉快地忽略了映射到Integer的字段的Integer溢出.如何报告正确的错误?解决方法:它不是Spring问题,它是一个普遍的Java问题. Java没有像C这样的溢出问题,但它包含了整数. @Test public void demoIntegerWrapp(){ int value = Integer.MAX_VALUE;

c – 这里是否发生溢出?

我无法理解为什么这个程序给出了这个输出.溢出发生在这里吗? int _tmain(int argc, _TCHAR* argv[]) { __int64 fileAgeInFileTime ; fileAgeInFileTime = 24 *60 * 60 ; cout << fileAgeInFileTime << endl; fileAgeInFileTime *= 10000000; __int64

C中的无符号整数

参见英文答案 > Overflowing of Unsigned Int                                    3个 我写下面的代码: #include <iostream> using namespace std; int main() { unsigned int i=1; i=i-3; cout<<i; return 0; } 输出是垃圾

java – 恢复哈希码“sum”

所以,不是每次都计算哈希码,我想我可以保持一个更新所有更改的整数.想象一下有助于哈希码的属性的setter: public void setFoo(Foo newFoo){ this.hashCalculator.remove(this.foo.hashCode()); // remove old hash code this.hashCalculator.add(newFoo.hashCode()); // a

java算术

为什么这段代码返回错误的值? int i=Integer.MAX_VALUE+1; long l=Integer.MAX_VALUE+1; System.out.println(l); System.out.println(i); 解决方法:向Integer.MAX_VALUE添加1时,它会溢出并回绕到Integer.MIN_VALUE. 发生这种情况是因为Java使用two’s complement来表示整数. 4位

c# – 如何定义已检查整数的列表

我有一个定义为List< int>的整数列表myIntList = new List< int>();像往常一样,我将使用myIntList.Add()方法为列表添加值.我面临的问题是列表中的值是动态的(一些计算的结果),可能超过整数可以容纳的最大值. 请考虑以下情形: int x = int.MaxValue; myIntList.Add(x + 1); 这

java – 重现行为MAX_VALUE和MIN_VALUE

以下内容也适用于其他MIN_VALUE和MAX_VALUE,但现在只关注Integer.我知道Java中的整数是32位,Integer.MAX_VALUE = 2147483647(231-1),Integer.MIN_VALUE = -2147483648(-231).当你超出它们的界限时使用这些值计算时,数字会回绕/溢出.因此,当您执行类似Integer.MAX_VALUE 1的操作时,

了解Java Integer.parseInt(String s,int radix)源代码

我正在查看java.lang.Integer的parseInt方法的源代码. public static int parseInt(String s, int radix) throws NumberFormatException { /* * WARNING: This method may be invoked early during VM initialization * before IntegerCache is initia

两个大数字C#之间的差异

对于小数字,已经有解决这个问题的方法: >这里:Difference between 2 numbers >这里:C# function to find the delta of two numbers>这里:How can I find the difference between 2 values in C#? 我将总结所有人的答案: Math.Abs(a - b) 问题是当数字很大时,这给出了错误的答案(通过

c# – 有符号整数溢出行为

当添加两个正Int32值且理论结果大于Int32.MaxValue时,我可以依靠溢出值始终为负值吗? 我的意思是这样做是为了检查溢出而不使用已检查的上下文和异常处理(如此处提出的:http://sandbox.mc.edu/~bennet/cs110/tc/orules.html),但这种行为是否已被限制? 从我到目前为止所读到的是C#定义