首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

关于c#的int和byte移位有关问题,迷惑中,知道的请解答一下

2014-01-03 
关于c#的int和byte移位问题,迷惑中,知道的请解答一下int类型测试程序int a 69a 4Console.WriteLin

关于c#的int和byte移位问题,迷惑中,知道的请解答一下
int类型测试程序
            int a = 69;
            a <<= 4;
            Console.WriteLine(a.ToString());
            a >>= 4;
            Console.WriteLine(a.ToString());

            Console.ReadLine();

输出:
1104
69


byte测试程序
            byte a = 69;
            a <<= 4;
            Console.WriteLine(a.ToString());
            a >>= 4;
            Console.WriteLine(a.ToString());

            Console.ReadLine();

输出结果是:
80
5


迷惑的是为什么byte类型输出的是80和5呢???????? byte类型大小在0到255之间
[解决办法]
迷惑的是为什么你会觉得他不是呢?你认为他应该是多少
[解决办法]
一个byte 69的二进制是 01000101,a<<4后是01010000,即十进制的80
一个int 69的二进制是 00000000 00000000 00000000 01000101(4个字节),a<<4后是 0000 00000000 00000000 010001010000,得到十进制的1104

热点排行