标签: absolute-value

如何将负数转换为正数?

如何在Python中将负数转换为正数?(并保持积极的一面.)

python numbers absolute-value

87
推荐指数
6
解决办法
22万
查看次数

Math.abs为Integer.Min_VALUE返回错误的值

这段代码:

System.out.println(Math.abs(Integer.MIN_VALUE));
Run Code Online (Sandbox Code Playgroud)

返回 -2147483648

它不应该返回绝对值2147483648吗?

java absolute-value

77
推荐指数
4
解决办法
2万
查看次数

使用按位运算符和布尔逻辑的绝对值 abs(x)

这是如何运作的?

这个想法是abs(x)对整数使用按位运算符(假设为 32 位字):

y = x >> 31
(x + y) ^ y // This gives abs(x) (is ^ XOR)?
Run Code Online (Sandbox Code Playgroud)

c c++ bit-manipulation absolute-value language-lawyer

52
推荐指数
3
解决办法
9802
查看次数

我应该使用np.absolute还是np.abs?

Numpy提供了两者np.absolutenp.abs通过定义的别名

from .numeric import absolute as abs
Run Code Online (Sandbox Code Playgroud)

这似乎明显违反了蟒蛇的禅宗:

应该有一个 - 最好只有一个 - 明显的方法来做到这一点.

所以我猜这有充分的理由.

我个人一直在使用np.abs几乎所有的代码,并查看例如np.absnp.absolute在Stack Overflow上的搜索结果数量,似乎绝大多数都是这样(2130 vs 244次点击).

没有任何理由,我应该优先使用np.absolutenp.abs在我的代码,或者我应该简单地去为更多的"标准" np.abs

python numpy absolute-value

51
推荐指数
2
解决办法
5万
查看次数

为什么使用abs()或fabs()而不是条件否定?

在C/C++中,为什么要使用abs()fabs()找到变量的绝对值而不使用以下代码?

int absoluteValue = value < 0 ? -value : value;
Run Code Online (Sandbox Code Playgroud)

是否与较低级别的较少指令有关?

c c++ variables negation absolute-value

51
推荐指数
5
解决办法
9739
查看次数

这是获得数字绝对值的最快方法

哪个是实现返回数字绝对值的操作的最快方法?

x=root(x²)
Run Code Online (Sandbox Code Playgroud)

要么

if !isPositive(x):
    x=x*(-1)
Run Code Online (Sandbox Code Playgroud)

实际上这个问题可以翻译为,有多快if(为什么请).

我的大学程序教授总是告诉我要避免使用ifs,因为它们非常慢,但我总是忘记问多慢和为什么.这里有人知道吗?

theory algorithm performance absolute-value

40
推荐指数
6
解决办法
3万
查看次数

在std :: abs函数上

是否std::abs()为C++ 11中的所有算术类型定义了函数,并且返回|x|时没有近似问题?

一个奇怪的是,与G ++ 4.7, ,std::abs(char),,std::abs(short int) 和似乎回到了双(对相反:http://en.cppreference.com/w/cpp/numeric/math/abs).如果数字被转换为double,我们可能会对非常大的数字(例如)有一些近似误差.std::abs(int)std::abs(long int)std::abs(long long int)-9223372036854775806LL = 2^63-3

那么我是否std::abs(x)总能|x|为所有算术类型返回保证?

编辑:这是一个进行一些测试的示例程序

#include <iostream>
#include <iomanip>
#include <cmath>
#include <typeinfo>

template<typename T>
void abstest(T x)
{
    static const unsigned int width = 16;
    const T val = x;
    if (sizeof(val) == 1) {
        std::cout<<std::setw(width)<<static_cast<int>(val)<<" ";
        std::cout<<std::setw(width)<<static_cast<int>(std::abs(val))<<" ";
    } else {
        std::cout<<std::setw(width)<<val<<" ";
        std::cout<<std::setw(width)<<static_cast<T>(std::abs(val))<<" ";
    }
    std::cout<<std::setw(width)<<sizeof(val)<<" ";
    std::cout<<std::setw(width)<<sizeof(std::abs(val))<<" ";
    std::cout<<std::setw(width)<<typeid(val).name()<<" …
Run Code Online (Sandbox Code Playgroud)

c++ standards-compliance absolute-value c++11

20
推荐指数
2
解决办法
2万
查看次数

abs()vs fabs()速度差异和fabs的优势()

我在abs()和fabs()函数上运行了一些简单的测试,我不明白使用fabs()的优点是什么,如果是:

1)慢一点

2)仅适用于花车

3)如果在不同类型上使用,将抛出异常

In [1]: %timeit abs(5)
10000000 loops, best of 3: 86.5 ns per loop

In [3]: %timeit fabs(5)
10000000 loops, best of 3: 115 ns per loop

In [4]: %timeit abs(-5)
10000000 loops, best of 3: 88.3 ns per loop

In [5]: %timeit fabs(-5)
10000000 loops, best of 3: 114 ns per loop

In [6]: %timeit abs(5.0)
10000000 loops, best of 3: 92.5 ns per loop

In [7]: %timeit fabs(5.0)
10000000 loops, best of 3: 93.2 ns …
Run Code Online (Sandbox Code Playgroud)

python function absolute-value

20
推荐指数
1
解决办法
7535
查看次数

在不使用Math.abs()的情况下查找数字的绝对值

有没有办法在不使用java中的Math.abs()方法的情况下找到数字的绝对值.

java absolute-value number-formatting

19
推荐指数
4
解决办法
11万
查看次数

C安全地取整数的绝对值

考虑以下程序(C99):

#include <stdio.h>
#include <stdlib.h>
#include <inttypes.h>

int main(void)
{
    printf("Enter int in range %jd .. %jd:\n > ", INTMAX_MIN, INTMAX_MAX);
    intmax_t i;
    if (scanf("%jd", &i) == 1)
        printf("Result: |%jd| = %jd\n", i, imaxabs(i));
}
Run Code Online (Sandbox Code Playgroud)

现在据我了解,这包含易于触发的未定义行为,如下所示:

Enter int in range -9223372036854775808 .. 9223372036854775807:
 > -9223372036854775808
Result: |-9223372036854775808| = -9223372036854775808
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 这真的是不确定的行为,如"代码可以触发任何代码路径,其中的任何代码,中风编译器的花哨",当用户输入的差多少,?还是其他一些没有完全定义的味道?

  2. 一个迂腐的程序员如何防止这种情况,而不做任何标准无法保证的假设?

(有一些相关的问题,但我没有找到一个回答上面的问题2,所以如果你建议重复,请确保它回答.)

c absolute-value undefined-behavior

19
推荐指数
2
解决办法
1197
查看次数