相关疑难解决方法(0)

不能在双打上使用模数?

我有一个C++程序(使用g ++编译).我正在尝试将两个双精度数作为操作数应用于模数函数,但是我得到以下错误:

错误:类型'double'和'double'到二进制'operator%'的操作数无效

这是代码:

int main() {
    double x = 6.3;
    double y = 2;
    double z = x % y;
}
Run Code Online (Sandbox Code Playgroud)

c++ modulo

176
推荐指数
4
解决办法
16万
查看次数

"mod"和"remaining"之间有什么区别?

我的朋友说"mod"和"rest"之间存在差异.

如果是这样,那么C和C++的差异是什么?"%"是指C中的"mod"还是"rem"?

c math operators

116
推荐指数
4
解决办法
10万
查看次数

"%不可用:使用truncatingRemainder"是什么意思?

使用扩展代码时出现以下错误,我不确定他们是否要求使用其他运算符或根据Internet搜索修改表达式中的值.

错误:%不可用:改为使用truncatingRemainder

扩展代码:

extension CMTime {
    var durationText:String {
        let totalSeconds = CMTimeGetSeconds(self)
        let hours:Int = Int(totalSeconds / 3600)
        let minutes:Int = Int(totalSeconds % 3600 / 60)
        let seconds:Int = Int(totalSeconds % 60)

        if hours > 0 {
            return String(format: "%i:%02i:%02i", hours, minutes, seconds)
        } else {
            return String(format: "%02i:%02i", minutes, seconds)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

设置分钟和秒变量时会发生错误.

xcode modulus ios swift swift3

91
推荐指数
3
解决办法
4万
查看次数

罪和cos都很慢,有没有交替?

我的游戏需要移动一定的角度.为此,我通过sin和cos得到角度的矢量.不幸的是,罪和cos是我的瓶颈.我相信我不需要这么精确.是否有一个C sin&cos和查找表的替代品,它非常精确但速度非常快?

我发现了这个:

float Skeleton::fastSin( float x )
{
    const float B = 4.0f/pi;
    const float C = -4.0f/(pi*pi);

    float y = B * x + C * x * abs(x);

    const float P = 0.225f;

    return P * (y * abs(y) - y) + y; 
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,这似乎不起作用.当我使用这个罪而不是C罪时,我会得到明显不同的行为.

谢谢

c++ math

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

为什么2.4 mod 0.8返回0.8

为什么模数计算2.4乘0.8返回0.8?它不应该返回0吗?

它发生在PHP,via fmod和JavaScript中%.

即使是使用此操作的Google研究也会失败:http://www.google.com/search? q = 2.4 + mod +0.8

javascript php math

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

为什么C和C++中的浮点数/双精度数没有除法余数运算?

可能重复:
为什么模数除法(%)只适用于整数?

此代码在C和C++中不起作用,但在C#和Java中起作用:

float x = 3.4f % 1.1f;
double x = 3.4 % 1.1;
Run Code Online (Sandbox Code Playgroud)

此外,在Python中为reals定义了除法余数.

在C和C++中,没有为浮点数和双精度数定义此操作的原因是什么?

c c# c++ java division

5
推荐指数
1
解决办法
858
查看次数

错误:取浮点数时,操作数无效为二进制%

这是一个相当长的一周,所以如果我很厚,请原谅我.

我有一些代码:

float someFloat = 0;
//....do some stuff to someFloat
//....

if( someFloat % 1)
{
   //take some action
}
Run Code Online (Sandbox Code Playgroud)

我收到编译器错误: error: invalid operands to binary %

假设编译器不是药物,这有什么不对吗?

编辑:顺便说一句,我实际想要做的是检测非整数值并向上舍入.我应该做的是调用roundf(我想检查返回是否小于操作数,然后如果是这样增加,请注意我们已经舍入)

c

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

在c ++中获得long和double的模数的准确方法

我正在研究一个涉及计时的c ++程序,在这个程序中,我必须确定一个时间的模数,以毫秒(一个长)为单位.通常会将long转换为double并使用fmod或将double转换为int/long然后使用%.然而,这不会给我我需要的准确性.有没有办法轻松处理这个?

所以我正在寻找的是:

long a = 9999999; 
double b= 1.42 ;
double answer = a % b;  <<< how do I do this?
Run Code Online (Sandbox Code Playgroud)

c++ floating-point floating-accuracy

0
推荐指数
1
解决办法
179
查看次数

错误是什么:二进制%的无效操作数(具有'float'和'int')意味着什么

#include <stdio.h>

int main(void) 
{
    float with;
    float inacbal;
    float acleft;
    scanf("%f",&with);
    scanf("%f",&inacbal);
    if((with%5)==0)//error here
    {
        acleft=inacbal-with-0.50;
        printf("%f",acleft);
    }
    else
        printf("%f",inacbal);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c

-2
推荐指数
1
解决办法
3万
查看次数

关于c中浮点值的mod运算符.这显示错误"非法使用浮点"

#include<stdio.h>
#include<conio.h>
void main()
{
  float n, r;
  printf("\n enter a number");
  scanf("%d",&n);
  r=n%10;
  n/=10;
  printf("%d %d",n, r );
  getch();
}
Run Code Online (Sandbox Code Playgroud)

此代码在编译时显示错误.我想知道:我们可以对浮点值执行mod操作吗?

c

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

标签 统计

c ×5

c++ ×4

math ×3

c# ×1

division ×1

floating-accuracy ×1

floating-point ×1

ios ×1

java ×1

javascript ×1

modulo ×1

modulus ×1

operators ×1

php ×1

swift ×1

swift3 ×1

xcode ×1