Tag: 负数

Javascriptmath对象方法 – 负数为零

在Javascript中,我似乎无法find一种方法来设置负数为零? -90变成0 -45变成0 0变成0 90变成90 有没有这样的事情? 我刚刚四舍五入的数字。

2的补码优于1的补码?

在二进制数的负数表示中2的补码优于1的补码的优点是什么? 它是如何影响在二进制系统中存储在数字的某个位表示中的值的范围?

Javascript负数

我想检查一个数字是否定的。 我正在寻找最简单的方法 ,所以预定义的JavaScript函数将是最好的,但我还没有find任何东西,这是我迄今为止,但我不认为这是一个好方法: function negative(number) { if (number.match(/^-\d+$/)) { return true; } else { return false; } }

循环从-1开始不打印任何东西

这个程序应该打印出array的元素,但是当它运行时,没有输出显示。 #include <stdio.h> #define TOTAL_ELEMENTS (sizeof(array) / sizeof(array[0])) int array[] = { 23, 34, 12, 17, 204, 99, 16 }; int main() { int d; for (d = -1; d <= (TOTAL_ELEMENTS – 2); d++) printf("%d\n", array[d + 1]); return 0; } 为什么这个程序不显示任何输出?

为什么最负的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)调用是不明确的 但是将相同的值2147483648 int并打印该值将会产生2147483648 。 我真的与这种行为混淆。 为什么只有当最负数字通过时才会观察到这种行为? (如果一个short和-32768使用,行为是一样的 – 事实上,在任何情况下,负数和正数都有相同的二进制表示) 使用的编译器:g ++(GCC)4.8.5

是否有可能区分0和-0?

我知道整数值0和-0本质上是相同的。 但是,我想知道是否可以区分它们。 例如,我怎么知道一个variables是否被赋值为-0 ? bool IsNegative(int num) { // How ? } int num = -0; int additinon = 5; num += (IsNegative(num)) ? -addition : addition; 内存中的值-0是否与-0保存?

给一个负数表示肯定

我有一个Java方法,我总结了一组数字。 不过,我希望任何负数都被视为正数。 所以(1)+(2)+(1)+( – 1)应该等于5。 我确信有这样做的很简单的方法 – 我只是不知道如何。

处理“会计”格式的负数

我有数据集,其中负值是围绕数字提出的,即(10)==-10 ,它是以csv格式,我如何处理它,使R将(10)解释为-10 ? 谢谢。 更新我知道我可以通过replace( as – ,remove ) ,然后使用as.numeric来解决这个问题,但是对于这个问题有没有更好的方法呢?

最好的方式使Java的模数行为应该与负数?

在Java中,当你这样做 a % b 如果a是负数,它将返回一个负数结果,而不是像应该的那样缠绕到b。 解决这个问题的最好方法是什么? 我唯一能想到的就是 a < 0 ? b + a : a % b

Java:在负数上右移

我对负号右移操作很困惑,这里是代码。 int n = -15; System.out.println(Integer.toBinaryString(n)); int mask = n >> 31; System.out.println(Integer.toBinaryString(mask)); 结果是: 11111111111111111111111111110001 11111111111111111111111111111111 为什么右移一个负数不是1(符号位)?