【问题标题】:Equivalent expression from C in java [closed]java中C的等价表达式[关闭]
【发布时间】:2020-03-19 15:14:53
【问题描述】:

我正在将一个程序从 C 重写为 Java,其中一部分使用按位运算。

for (int ly = 0; ly < num; ly++){
    char c = sprite[ly];
    for (int lx = 0; lx < 8; lx++) {
        if ((c & (0b10000000 >> lx)) == 0) {
            continue;
        }

        pixels[ly + y][lx + x] = true;
    }
}

这是 C 代码。

我在 Java 中也是这样做的。它可以编译、运行,但检查该位是打开还是关闭并不能正常工作。

如何在 java 中检查?

【问题讨论】:

  • 不是代码翻译服务
  • 定义“不工作”。您期望代码应该做什么?也可以贴一下Java代码,比较一下。
  • 您可能希望从优化原始 C 代码开始,因为该算法远非理想。
  • java中的代码是一样的,“不工作”我得到一个无效的结果
  • 您将什么定义为“有效”...?你怎么没有得到这个?

标签: java c


【解决方案1】:

发布的那个 sn-p 是完全有效的 Java 代码,并且在 Java 中做同样的事情,粗略地说,就像在 C 中一样。intchar 的定义略有不同(例如,在 java 中,int 始终是一个 32 位有符号整数,但在 C 中它取决于架构)。但基本都是一样的。

【讨论】:

  • 是的正在编译运行,但结果不是预期的,你认为是因为类型定义吗?
  • @HudsonSchumaker 定义输入、预期输出和实际输出
猜你喜欢
  • 1970-01-01
  • 2018-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-09
  • 2017-04-06
  • 2014-04-15
相关资源
最近更新 更多