C# 位与赋值x&=y,位或赋值x|=y,异或赋值x^=y,是怎样赋值的 什么时候用?最好有具体例子

如题所述

第1个回答  2013-01-28
x&=y 位与运算,例如1&=0结果x为0
x|=y 位或运算,例如1|=0结果x为1
x>>=y 右位移运算,例如10>>=1结果x为1
x<<=y 左位移运算,例如1<<=1结果x为10
x^=y ^这个忘了
以上都是2进制运算
第2个回答  2013-01-28
这个看你的业务了,比如我的业务有这样一个功能,
每个软件对应的分数,我一开始是用字典,Dictionary<int,int>来处理,因为数据量很大,这个字典比较占内存,我就用一个long[]数组代替Dictionary<int,int>
long的前32位是软件id,后32位是软件分数
那么对于每个long数值a
int score = a & 0xffffffffffffffff;
int id = a>>32;// 右移32位,把低位的清0;

另外,C#里的枚举也可以用或操作,比如正则里的:
Regex.IsMatch("abc", @"\d+",
RegexOptions.IgnoreCase | RegexOptions.Multiline)// 后面的枚举或,表示2个都生效
这种枚举通常定义是这样的:
[Flags]// 有这个标记
enum abc{
a=0,
b=1,
c=2,
d=4,
e=8,
f=16
}本回答被提问者和网友采纳

C# 位与赋值x&=y,位或赋值x|=y,异或赋值x^=y,是怎样赋值的 什么...
x|=y 位或运算,例如1|=0结果x为1 x>>=y 右位移运算,例如10>>=1结果x为1 x<<=y 左位移运算,例如1<<=1结果x为10 x^=y ^这个忘了 以上都是2进制运算

在C语言中11种赋值运算符的具体含义,用法?
1.六个变量=表达式的赋值:=是赋值运算符,\/=是除后赋值,*=是乘后赋值,=是取模后赋值,+=是加后赋值,-= 是减后赋值,2.<<=是左移后赋值,变量<<=表达式 左移就是将左边的数的二进制各位全部左移若干位,右边的数指定移动位数,高位丢弃,低位补0, 移几位就相当于乘以2的几次方。3....

C语言中x^=y是什么意思
^是按位异或运算符。其功能是参与运算的两个运算对象的各对应的二进位异或,当两对应的二进位相同时,则该位的结果为0反之为1.^=是异或赋值。x^=y等价于x=x^y.例如 00001001^00000101结果为00001100

c语言,位符合赋值运算子, =,&=,^=!=, 分别什么含义啊?
8.>>= 右移后赋值 变数>>=表示式 右移运算子是用来将一个数的各二进位制位右移若干位,移动的位数由右运算元指定(右运算元必须是非负值),移到右端的低位被舍弃,对于无符号数,高位补0。对于有符号数,某些机器将对左边空出的部分用符号位填补(即“算术移位”),而另一些机器则对左边空出的部分用0填补(即...

在c#中<<= 、|= 什么意思
<<右边的数指定移动位数,高位丢弃,低位补0, 移几位就相当于乘以2的几次方。c#运算符:+= 加赋值 -= 减赋值 = 乘赋值 \/= 除赋值 = 求余赋值 &= 按位与赋值 ^= 按位异或赋值 >>= 右移位赋值 <> 当右操作数又是一个赋值表达式时,形成多重赋值表达式。

赋值运算符的意思
x \/= y x = x \/ y = 取余数赋值 x %= y x = x % y = 幂赋值 x **= y x = x ** y \/\/= 取整数赋值 x \/\/= y x = x \/\/ y = 按位与赋值 x = y x = x y |= 按位或赋值 x |= y x = x | y ^= 按位异或赋值 x ^= y x = x ^ y = 左移赋值 ...

C语言的按位与,或,非,异或都什么意思.有什么用
位运算符有:&(按位与)、|(按位或)、^(按位异或)、~ (按位取反)。优先级从高到低,依次为~、&、^、| 按位与运算有两种典型用法,一是取一个位串信息的某几位,如以下代码截取x的最低7位:x & 0177。二是让某变量保留某几位,其余位置0,如以下代码让x只保留最低6位:x = x & ...

C语言的按位与、或、非、异或都什么意思。有什么用
在计算机中,数据都是以二进制数形式存放的,位运算就是指对存储单元中二进制位的运算。C语言提供6种位运算符。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。位运算符 & |~<< >> ∧ 按优先级从高到低排列的顺序是:位运算...

C语言中的运算符的优先级怎么排序?
选C.、赋值运算符<逻辑与运算符<关系运算符<算术运算符。归纳各类运算符【高到低】:初等运算符【()、->、.】 G1 单目运算符G2 算术运算符(先乘除【取余】,后加减) G3,4 位运算符【<< >>】 G5 关系运算符G6,7 位运算符【递减& ^ |】 G8,9,10 逻辑运算符(不包括!) G11,12...

复合赋值运算符讲解
X Y ~X ~Y X&Y X|Y X^Y 0 0 1 1 0 0 0 0 1 1 0 0 1 1 1 0 0 1 0 1 1 1 1 0 0 1 1 0 表7-1 按位取反,与,或和异或的逻辑真值表 利用以前建立起来的实验板,我们来做个实验验证一下位运算是否真是不改变参与变量的值,同时学习位运算的表达形式。程序很简单,用P1口做运算变量...

相似回答
大家正在搜