标签: multiplication

在Python中创建单项重复n次的列表

我知道列表理解会做到这一点,但我想知道是否有更短(和更多Pythonic?)的方法.

我想创建一系列不同长度的列表.每个列表将包含相同的元素e,重复n次(其中n =列表的长度).如何创建列表,而不做

__PRE__

对于每个清单?

python list-comprehension multiplication replicate

460
推荐指数
7
解决办法
47万
查看次数

使用单个乘法提取位

我看到在使用了一个有趣的技术,答案另一个问题,并想好一点理解.

我们给出了一个无符号的64位整数,我们对以下几位感兴趣:

1.......2.......3.......4.......5.......6.......7.......8.......
Run Code Online (Sandbox Code Playgroud)

具体来说,我们希望将它们移到前八位,如下所示:

12345678........................................................
Run Code Online (Sandbox Code Playgroud)

我们不关心指示的位的值.,并且不必保留它们.

溶液是屏蔽掉不需要的位,并且乘以结果0x2040810204081.事实证明,这就是诀窍.

这种方法有多普遍?这种技术可以用来提取任何比特子集吗?如果不是,如何判断该方法是否适用于特定的位组?

最后,如何找到(a?)正确的乘数来提取给定的位?

c bit-manipulation multiplication

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

使用C中的移位运算符的乘法和除法实际上更快吗?

例如,可以使用位运算符来实现乘法和除法

i*2 = i<<1
i*3 = (i<<1) + i;
i*10 = (i<<3) + (i<<1)
Run Code Online (Sandbox Code Playgroud)

等等.

实际上使用say (i<<3)+(i<<1)乘以10比i*10直接使用更快吗?是否有任何类型的输入不能以这种方式倍增或分割?

c c++ bit-shift multiplication division

282
推荐指数
8
解决办法
9万
查看次数

如何将列表中的所有项目与Python相乘?

我需要编写一个函数,它接受一个数字列表并将它们相乘.例子: [1,2,3,4,5,6]会给我1*2*3*4*5*6.我真的可以使用你的帮助.

python list multiplication

183
推荐指数
9
解决办法
22万
查看次数

82
推荐指数
7
解决办法
23万
查看次数

通过向量乘以矩阵行?

我正在优化一个函数,我想摆脱缓慢的for循环.我正在寻找一种更快的方法来将矩阵的每一行乘以一个向量.

有任何想法吗?

编辑:

我不是在寻找'经典'乘法.

例如.我有一个有23列和25行的矩阵和一个长度为23的向量.结果我想要矩阵25x23,每行乘以向量.

r vector matrix multiplication

65
推荐指数
4
解决办法
7万
查看次数

在两个大整数的乘法期间捕获并计算溢出

我正在寻找一种有效(可选的标准,优雅且易于实现)的解决方案来乘以相对较大的数字,并将结果存储为一个或多个整数:

假设我有两个64位整数,如下所示:

uint64_t a = xxx, b = yyy; 
Run Code Online (Sandbox Code Playgroud)

当我这样做时a * b,如何检测操作是否导致溢出,并且在这种情况下将进位存储在某处?

请注意,我不想使用任何大号库,因为我对存储数字的方式有限制.

c integer bit-manipulation overflow multiplication

60
推荐指数
6
解决办法
5万
查看次数

如何将列表中的各个元素与数字相乘?

S = [22, 33, 45.6, 21.6, 51.8]
P = 2.45
Run Code Online (Sandbox Code Playgroud)

这里S是一个数组

我将如何乘以此值并得到值?

SP = [53.9, 80.85, 111.72, 52.92, 126.91]
Run Code Online (Sandbox Code Playgroud)

python numpy multiplication

44
推荐指数
3
解决办法
12万
查看次数

如何将列表中的所有整数相乘

您好,我想将列表中的整数相乘.

例如;

l = [1, 2, 3]
l = [1*2, 2*2, 3*2]
Run Code Online (Sandbox Code Playgroud)

输出:

l = [2, 4, 6]
Run Code Online (Sandbox Code Playgroud)

所以我在网上搜索,大多数答案是关于将所有整数相互乘以,例如:

[1*2*3]

python scalar list multiplication elementwise-operations

40
推荐指数
5
解决办法
14万
查看次数

整数乘法与现代CPU上的加法速度完全相同

我经常听到这种说法,现代硬件上的乘法是如此优化,以至于它实际上与加法相同.真的吗?

我从来没有得到任何权威的确认.我自己的研究只会增加问题.速度测试通常会显示让我感到困惑的数据.这是一个例子:

#include <stdio.h>
#include <sys/time.h>

unsigned int time1000() {
    timeval val;
    gettimeofday(&val, 0);
    val.tv_sec &= 0xffff;
    return val.tv_sec * 1000 + val.tv_usec / 1000;
}

int main() {
    unsigned int sum = 1, T = time1000();
    for (int i = 1; i < 100000000; i++) {
        sum += i + (i+1); sum++;
    }
    printf("%u %u\n", time1000() - T, sum);
    sum = 1;
    T = time1000();
    for (int i = 1; i < 100000000; i++) {
        sum += i * …
Run Code Online (Sandbox Code Playgroud)

c++ cpu performance multiplication addition

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