例如,如果我Console.WriteLine(1<<2<<2+1);
在C#控制台应用程序中编写,输出将是32
你能说我为什么吗?此“ <<”运算符是什么意思?在哪里可以阅读更多有关它的信息?我用谷歌搜索但找不到
从MSDN:
左移运算符(<<)将其第一个操作数左移第二个操作数指定的位数。第二个操作数的类型必须是int或具有预定义的隐式数值转换为int的类型。
https://msdn.microsoft.com/zh-CN/library/a1sway8w.aspx
在这种情况下返回数字32,因为加法运算符的优先级高于ASHL(<<)运算符,但最左边的ASHL运算符首先被应用。该表达式的计算如下:
1<<2<<2+1
((1<<2)<<(2+1))
((1<<2)<<3)
(4<<3)
32
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句