使用int和long进行操作

时间:2013-04-11 03:31:00

标签: int long-integer

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

  

“可能会失去精确度。必需:int; found:long。”

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

编辑:哎呀,我没有意识到我可以将整个事件作为一个int进行投射,我认为它只能将长时间转换成一个int(这会很糟糕)才能让它合作。

1 个答案:

答案 0 :(得分:0)

您可以尝试两件事:

  1. x % 16L
  2. x & 0x0000000FL //你不需要零; 0xFL应该可以工作。
  3. 这两种技术都会导致long而不会丢失精度。如果你想要int,只需在操作之前将x转换为int,然后删除L后缀。