C#特殊运算符的用法?

来源:百度知道 编辑:UC知道 时间:2024/05/30 09:55:31
比如有些 "左移位 <<" , "右移位 >>" . 异或运算符 和 " ^ "

的三个运算符的用法 :

能否举例说明一下? 具体用在什么地方。?

左移位 通常计算机做乘法的速度是很慢的 对效率要求高的情况下可以用左移位代替整数间相乘 例如:
1 * 2 = 1 << 1
1 * 4 = 1 << 2
1 * 8 = 1 << 3
...
当然这对乘号后的因数有要求 必须是2的次方数

右移位 同样计算机做除法也很慢 用右移位代替除法
8 / 2 = 8 >> 1
8 / 4 = 8 >> 2
8 / 8 = 8 >> 3
...

当然 位移运算符不止这些用途

异或 进行数字间交换 和一些特定的加密解密间运算
int a = 1;
int b = 2;
a ^= b;
b ^= a;
a ^= b;
// a = 2, b = 1
...

位操作的时候会有大的用处。
比如我们常见的数字交换:
temp = a;
a = b;
b = temp;
既慢又浪费空间。
而使用位操作就两句话,不需要额外空间消耗(有点类似于指针操作)。

特殊……

学习了
C#用的少 C++多