0

我需要得到x%16,其中 x 是 a long。我的编译器给了我错误

“可能会丢失精度。必需:int;找到:long。”

我怎样才能解决这个问题?

编辑:哎呀,我没有意识到我可以将整个事情转换为一个 int,我认为它只能将 long 作为一个 int (这会很糟糕)来让它合作。

4

1 回答 1

0

您可以尝试两件事:

  1. x % 16L
  2. x & 0x0000000FL// 你不需要零;0xFL 应该可以工作。

这两种技术都可以在long不损失精度的情况下产生结果。如果你想要一个int,只需在对其进行操作之前将 x 转换为int,并删除 L 后缀。

于 2013-04-11T03:36:33.080 回答