前辈们关于移位运算。。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace p4_5
{
class Program
{
static void Main(string[] args)
{
MoveBit(16, 1);
MoveBit(16, 3);
MoveBit(16, 5);
MoveBit(16, 7);
}
static void MoveBit(int x,int n)
{
Console.Write("{0}<<{1}={2} ", x, n, x << n);
Console.Write("{0}>>{1}={2}", x, n, x >> n);
Console.Write("{0}<<{1}={2}", -x, n, -x << n);
Console.WriteLine("{0}>>{1}={2}", -x, n, -x >> n);
}
}
}
这个运行结果为什么会出现0和-1呢,我实在想不明白啊。。它是怎么出来的?