我们将在哪里使用移位运算符(<<, >>)?

已加入
2017年1月16日
留言内容
75
地点
英国
编程经验
1-3
我最近才发现C#具有一种称为移位运算符的功能,可以将数字的二进制值向右或向左移动。但是,这在什么地方有用呢?

我所读的书仅显示了福彩12选5走势图示例,而没有解释为什么它们会有用。

谢谢
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,568
地点
悉尼,澳大利亚
编程经验
10+
一种相当普遍的用途是将多个较小的数字值存储为福彩12选5走势图较大的数字。例如,假设您要在福彩12选5走势图int中存储四个字节:
int n = 0;
byte[] a = new byte[] {1, 2, 3, 4};

n = a[0];
n = (n << 8) | a[1];
n = (n << 8) | a[2];
n = (n << 8) | a[3];

使用第福彩12选5走势图字节的8位初始设置int的前8位。然后将int位全部移位8位,并使用第二个字节的8位设置前8位。然后,将所有位再移位两次8位,并且每次都将前8位再次置位。
 
最佳 底部