小编kst*_*stn的帖子

numpy 中数据类型的奇怪隐式转换

我创建了一个简单的 numpy 数据类型 uint ,如下所示:

import numpy as np
a = np.array([1,2,3], dtype=np.uint)
Run Code Online (Sandbox Code Playgroud)

当我计算时

a[0] + 1
Run Code Online (Sandbox Code Playgroud)

我期望结果为 2,但它给出了

2.0
Run Code Online (Sandbox Code Playgroud)

为什么 np.uint 需要隐式转换为 float?请注意,int 或 np.int64 不会发生这种情况

python numpy

7
推荐指数
1
解决办法
217
查看次数

获取 std::vector 指针的更好方法

由于&v[0]v.data()提供了相同的方式来访问 的底层指针std::vector,我想知道哪种方法在稳定性和可移植性方面是更好的选择?

c++ stdvector

3
推荐指数
1
解决办法
252
查看次数

双除以双和整数:哪个更好?

我总是假设双精度除以整数会产生更快的代码,因为编译器会选择更好的微代码来计算:

double a;
double b = a/3.0;
double c = a/3; // will compute faster than b
Run Code Online (Sandbox Code Playgroud)

对于单个操作而言,这无关紧要,但对于重复操作而言,它可能会有所不同。我的假设总是正确的还是依赖于编译器或 CPU 之类的?

同样的问题也适用于乘法;即会3 * a3.0 * a?

c c++

2
推荐指数
1
解决办法
99
查看次数

标签 统计

c++ ×2

c ×1

numpy ×1

python ×1

stdvector ×1