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

标签 c# bit-shift

我正在尝试使用 << long 上的运算符(operator),像这样:

((long) num3) << ( 2 + (long) num4)))

这给了我以下错误:

Operator << cannot be applied to operands of type long and long.

如果我不投 num4long ,没有错误。但是,我不能将其保留为 int .还有其他解决方法吗?

最佳答案

正确的操作数必须是 int,而不是 long。使用 long 作为要移动的位数是没有意义的,因为 C# 中的整数类型永远不会超过 64 位。

关于c# - 运算符 << 不能应用于 long 和 long 类型的操作数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26808716/

相关文章:

c# - C# 中的线程池

java - Java 中移位时出现不兼容类型错误

c# - 如何相对于按钮在 Windows 应用商店应用程序中定位弹出控件?

c# - VS2012设计器继承另一个表单后无法打开表单

python-3.x - 此除法函数的时间复杂度是多少(未使用除法或乘法运算符)?

c++11 - 如何使用按位运算将 3 个整数值编码为 uint16_t?

c - 为什么复合位移不将前导半字节设置为 0?

c++ - 无符号类型按位移位的 RHS 操作数类型

c# - -Convert.ToSingle 是做什么的?

c# - Visual Studio T4 与 CodeSmith