圆象限和多个逻辑运算符
本文关键字:逻辑运算符 | 更新日期: 2023-09-27 18:16:26
我正在尝试对一个有角和三角形的圆进行计算。
是否可以对逻辑运算符进行分组,或者不建议这样做。
EX:如果角度在圆的象限1(>315°但小于45°),或在象限3(> 135°但小于<= 225°)。
我的基本代码是:
if (angle > 315 && angle <= 45)
{
//do codeA
}
else if (angle > 135 && angle <= 225)
{
//do codeA
}
等。
我想做的是:
if ((angle > 315 && angle <= 45) || (angle > 135 && angle <= 225)
{
//do codeA
}
else if ((angle > 45 && <= 135) || (angle > 225 && angle <= 315)
{
//do codeB
}
我在考虑不使用开关操作符,因为我一直没有充分使用它们。
我有两个问题:
不管它是否是最好的方法,是否有可能按照我想要的方式对逻辑运算符进行分组
(if ((A == 1 && B == 1) || (A == 2 && B == 4))
?开关语句是正确的方式来做到这一点吗?
传统的
- 第一象限 0-90
- 第二象限 90-180
- 第三象限 180-270
- 第四象限 270-360.
所以如果A是角度,当你把它除以180时,当你在第一象限或第三象限时,你得到的余数是0-90。
所以你可以简单地使用模运算符来简化你的条件。
if ( (A % 180) < 90 )
{
//first or third quad
}
else
{
//second or fourth quad
}
请根据您的角度范围和边界条件自定义
这里不能使用switch语句,因为这里使用的是不相等比较