最好的方法在c ++ 中对向量或矩阵执行模数运算符是什么?犰狳
向量和矩阵类重载%
运算符以执行逐元素乘法。尝试使用它会产生invalid operands
错误。 我当时正在等待
uvec a = {0, 1, 2, 3};
uvec b = a % 2;
cout << "b" << endl;
会产生以下内容:
b:
0
1
0
1
答案 0 :(得分:3)
运算符'%'用于逐元素矩阵乘法。你必须创建自己的功能:
/**
* Extend division reminder to vectors
*
* @param a Dividend
* @param n Divisor
*/
template<typename T>
T mod(T a, int n)
{
return a - floor(a/n)*n;
}