using System;
预期的输出应该是B5 ,可为什么会是0啊? class test
{
public static void Main()
{
int i=0x5A;
int j= 0x6B;
long i1= (long)i>>4;
long j1= (long)j<<4;
long k=j1&i1;
Console.WriteLine("Result: 0x{0}",k);
}
}
预期的输出应该是B5 ,可为什么会是0啊? class test
{
public static void Main()
{
int i=0x5A;
int j= 0x6B;
long i1= (long)i>>4;
long j1= (long)j<<4;
long k=j1&i1;
Console.WriteLine("Result: 0x{0}",k);
}
}
简化问题
class test
{
public static void Main()
{
int i=0x100;//改为0x100
int j= 0x1;//改为0x1
long i1= (long)i>>4;//为0x010
long j1= (long)j<<4;//为0x010
long k=j1&i1;
Console.WriteLine("Result: {0}",k);//十进制16
Console.ReadLine();
}
}
看看好啦