运算符<<不能应用于long和long类型的操作数

hur*_*nhu 7 c# bit-shift

我试图<<在a 上使用运算符long,如下所示:

((long) num3) << ( 2 + (long) num4)))
Run Code Online (Sandbox Code Playgroud)

这给了我以下错误:

运算符<<不能应用于long和long类型的操作数.

如果我没有转换num4为a long,则没有错误.但是,我不能把它作为一个int.还有其他方法吗?

Tho*_*que 15

右操作数必须是a int,而不是a long.使用a long作为要移位的位数是没有意义的,因为C#中的整数类型从不超过64位.

  • 呃,为什么倒下?我说错了吗?当你向下投票时请评论,以便我知道什么是错的...... (5认同)
  • 那为什么不使用一个字节呢?在这种解释中使用 int 是没有意义的。 (3认同)