【发布时间】:2014-11-07 19:33:56
【问题描述】:
我正在尝试在 long 上使用 << 运算符,如下所示:
((long) num3) << ( 2 + (long) num4)))
这给了我以下错误:
运算符
如果我不将num4 转换为long,则没有错误。但是,我不能将其保留为int。有没有其他办法解决这个问题?
【问题讨论】:
-
你真的想要
<<,而不是<? -
你为什么要在运算符中转换为
long?进行位移并将结果转换为long。问题解决了。 -
将 long 移位超过 64 位是没有意义的,因此右手运算符不需要是 long。
-
正如@vcsjones 所说,
((long) num3) << ( 2 + num4) -
“遗憾的是我不能将其保留为 int”:为什么?无论如何,你到底想做什么?