【发布时间】:2012-05-17 09:11:49
【问题描述】:
我在二维平面 (x,y) 中得到一个点作为输入。现在我必须检查它在哪个象限,做一些关于 X 轴和 Y 轴的反射,并多次重复检查它在哪个象限。
我有两种方法,但不确定哪个更好
- 我最初可以将 x,y 存储为布尔值,然后在反射时进行布尔运算,因此这很容易。要判断该点在哪个象限,只需检查该值是真还是假。
- 或者我可以使用 int 进行常规方法,然后检查第一位以找到该点所在的象限
【问题讨论】:
标签: c++ optimization
我在二维平面 (x,y) 中得到一个点作为输入。现在我必须检查它在哪个象限,做一些关于 X 轴和 Y 轴的反射,并多次重复检查它在哪个象限。
我有两种方法,但不确定哪个更好
【问题讨论】:
标签: c++ optimization
也不行,只需将您的坐标与0 进行比较即可。
如果您将它们存储为布尔值,除了丢失信息之外,您可能还会因为转换而获得一些开销。
如果您检查第一位,它的可读性会降低。
编译器会自行优化这些调用,怀疑你会从不同的方法中获得什么。
【讨论】:
y = -y;