Questions tagged «negative-number»


20
使负数为正
我有一个Java方法,其中对一组数字求和。但是,我希望将任何负数都视为正数。因此(1)+(2)+(1)+(-1)应该等于5。 我敢肯定有很简单的方法可以做到-我只是不知道怎么做。


7
是否可以区分0和-0?
我知道整数值0和-0基本上是相同的。但是,我想知道是否可以区分它们。 例如,如何知道是否分配了变量-0? bool IsNegative(int num) { // How ? } int num = -0; int additinon = 5; num += (IsNegative(num)) ? -addition : addition; -0保存在内存中的值是否与完全相同0?



3
为什么最负的int值会导致有关歧义函数重载的错误?
我正在学习C ++中的函数重载,并遇到了以下问题: void display(int a) { cout << "int" << endl; } void display(unsigned a) { cout << "unsigned" << endl; } int main() { int i = -2147483648; cout << i << endl; //will display -2147483648 display(-2147483648); } 据我了解,该int范围内给出的任何值(在我的情况下int为4字节)都将被调用,display(int)而该范围外的任何值都将是模棱两可的(因为编译器无法确定要调用哪个函数)。int除最小值外,它对于整个值范围均有效,即-2147483648编译失败并显示错误 重载的呼叫display(long int)是模棱两可的 但是对取相同的值int并打印该值将给出2147483648。我真的对这种行为感到困惑。 为什么仅当传递最大负数时才会观察到此行为?(如果将a short与-32768-一起使用,其行为是相同的-实际上,在任何情况下,负数和正数具有相同的二进制表示形式) 使用的编译器:g ++(GCC)4.8.5


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.