- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace YiWei
- {
- class Program
- {
- static void Main(string[] args)
- {
- short val = 38;
- //byte result1 = val >> 1;
- //Console.WriteLine(result1);
- /* 错误 1 无法将类型“int”隐式转换为“byte”。
- * 存在一个显式转换(是否缺少强制转换?)
- * D:/c#/YiWei/YiWei/Program.cs 14 28 YiWei*/
- //short result2 = val >> 1;
- //Console.WriteLine(result2);
- /*错误 1 无法将类型“int”隐式转换为“short”。
- * 存在一个显式转换(是否缺少强制转换?)
- * D:/c#/YiWei/YiWei/Program.cs 21 23 YiWei*/
- int result3 = val >> 1;
- Console.WriteLine(result3);
- long result4 = val >> 1;
- Console.WriteLine(result4);
- Console.WriteLine(val>>1);
- Console.ReadKey();
- }
- }
- }
从以上代码来看,移位运算 ">>" 的val>>1的表达式结果是int型的值。
一般的类型都可以做位运算">>" ,但是结果是int型值。这个结果可以隐式转换为其他类型。