C#中的移位有点奇葩,求解释.

问题描述:

C#中的移位有点奇葩,求解释.

算术移位,逻辑移位我懂,但我不明白运行结果及解释是什么意思,希望各位能举几个例子解释下.


1个回答 分类:综合 2014-10-10

问题解答:

我来补答
你把数字转换成二进制就明白了
1111 1111 1111 1111 1111 1111 1111 1111
左移就相当于左边8个1去掉,再在右边填8个0
1111 1111 1111 1111 1111 1111 0000 0000
然后转成uint就是你打出来那个数了
右移就是右边移除16个1,再在左边填16个0
0000 0000 0000 0000 1111 1111 1111 1111
转成10进制就是65535
你可以自己动手,打开操作系统自带的计算器,点查看切换到"程序员"模式,
自己转换一下二进制和10进制
 
 
展开全文阅读
剩余:2000