gpt4 book ai didi

java - 将 int 更改为 X 和 Y 方向的最有效方法

转载 作者:搜寻专家 更新时间:2023-11-01 03:04:16 24 4
gpt4 key购买 nike

我有一组键码,其值(当然是 mod 4)从 0 到 3 依次对应于键的下、左、上、右。我需要将这些键码转换成 x 和 y 方向,正 x 表示原点左侧的位置,正 y 表示原点下方的位置。在我看来,我有两种方法可以做到这一点:

使用数组:

int [] dx = {0, -1, 0, 1};
int [] dy = {1, 0, -1, 0};
int x = dx[kc];
int y = dy[kc];

或使用算术:

int x = (kc%2)*(((kc/2)%2)*2 - 1);
int y = ((kc+1)%2)*(((kc/2)%2)*-2 + 1);

哪个效率更高?

最佳答案

这可能取决于语言。我认为整数表示会更有效率。或者更好的是,如果您需要空间,您可以用位串表示方向。四个方向需要 4 位。大多数整数是 4 个字节,这是存储空间的 8 倍!话又说回来,这可能不会影响任何东西,除非你存储了很多这样的东西。

我会用方向方法(getDirection()、setDirection() 等)抽象出表示,然后尝试用几种不同的方法运行您的程序。

编辑:糟糕,我是想发表评论,而不是回答。对此感到抱歉。

关于java - 将 int 更改为 X 和 Y 方向的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28153700/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com