integer-overflow

    2热度

    4回答

    这是一个将正数十进制数转换为二进制数的简单程序。我必须报告并停止转换那些可能导致溢出或错误结果的数字。我发现整数的大小是4字节,但它只能正确转换为1023。 我很混淆数字“1023”从何而来?有没有什么方法可以计算,所以我可以预测什么是正确的范围,如果说,我正在另一个系统上编程。 #include<stdio.h> int main(void) { int decimal,binary=0,

    2热度

    3回答

    什么是检测算术溢出(或下溢)最合适的方法并获得溢出计数? 为了便于理解,我将使用byte,但这与int或任何其他基本整数类型相同。现在想象我有价值240,并想要添加24。显然是算术溢出。使用checked关键字这是很容易,至少检测... byte value = 240; try { checked { value += 24; } } catch

    2热度

    1回答

    的溢出感知执行我试图实现卡尔曼滤波器获得物体的定向,使用3轴加速计和3轴陀螺仪作为传感器。 选择此过滤器的预测阶段的动态模型是直线前进,它是: new_angle = angle + angular_velocity * time new_angular_velocity = angular_velocity 但我没有浮点支持的手,我需要的精度每一位来建模角度。因此,我的计划是将角度表示为3

    3热度

    3回答

    例如,在2和1的补码中,INT_MAX * -1是一个有效数字。这是有保证的吗?还有其他保证吗?例如,INT_MIN可以在任何体系结构上为-1或0?有什么我们可以知道的(INT_MAX + INT_MIN)?我们是否可以知道(INT_MAX + INT_MIN)不会导致未定义的行为?

    -1热度

    4回答

    我希望有两个编辑文本之间的方程并把吐司 输出我试图用这样的公式: String data1 = one.getText().toString(); String data2 = two.getText().toString(); String RES = data1 + data2; 但这种方式输出的结果作为字符串而不是数字 查找代码如下:主活动代码:MainActivity.java packa

    6热度

    3回答

    目前,我正在学习C程序,但我碰到一些奇怪的行为 来到我的预期结果之一,但两个结果印像这样 $ ./a.out yes1 0x80000000 yes3 0x80000000 怎么会可能? 我无法理解结果。 OS : x86_64 Ubuntu Linux C compiler : gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1 gcc -O2 we

    32热度

    5回答

    我经常遇到vba与Overflow错误有关的问题。 我的问题是为什么使用integer变量声明,而不是将所有数值变量(不包括double等)定义为long? 除非您在for循环中执行操作,您可以保证该值不会超过32,767的限制,否则会对性能或其他指令不会影响long?

    2热度

    1回答

    编译时有严格的溢出标志下面,它告诉我,2号测试的R可能不是,我认为它可能是: int32_t r(my_rand()); if(r < 0) { r = -r; if(r < 0) { // <-- error on this line r = 0; } } 错误是: /build/buildd/libqtcassandra

    1热度

    2回答

    所以,问题是: 鉴于代表在给定的编译器(?语言)尽可能多的,例如ulong在C#中的原生整数类型,你如何检测到代表一个数字的输入字符串将溢出可由该给定类型表示的最大值而不会回落到检查的上下文和运行时间OveflowException? 显然C#编译器可以检测恒定积分溢出: ulong l = 18446744073709551615; //ok ulong l = 184467440737095

    4热度

    4回答

    我有下面的C代码: uint8_t firstValue = 111; uint8_t secondValue = 145; uint16_t temp = firstValue + secondValue; if (temp > 0xFF) { return true; } return false; 这是另一种实现: uint8_t firstValue = 111;