C# 逻辑位运符及运算原理 按位操作二进制

Posted 生产队的驴.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 逻辑位运符及运算原理 按位操作二进制相关的知识,希望对你有一定的参考价值。

前言:

程序在计算机内存里都是二进制的方式存储的,位运算直接对整数在内存中的二进制位进行操作,而位运算属于逻辑运算

位运算符:

名字运算符写法返回值
逻辑非~~20int
逻辑与&80&20int
逻辑或80丨20int
逻辑异或^80^20int
逻辑左移<<80<<2int
逻辑右移>>80>>2int

位逻辑非

该运算符在二进制当中及就是取反,

1=0 0=1

101010 (源)
010101 (取反)

正数取反 及-x+1 如: 50 取反后 -51
负数取反 及+x-1 如: -19 取反后 18

代码:

 int  n=~912;
 //-913

位逻辑与

两个对象进行位的比较

1与1等于1
1与0等于0
0与0等于0
也就是1和1情况才是1其他为0

十进制 2128 与运算 结果为:20

代码

 int  n =52&28;
 //20

位逻辑或

也是两个对象比较

1或1等于1
1或0等于1
0或0等于0
也就是0和0情况才是0其他为1(与运算相反)

十进制 2128 或运算 结果为:29

代码

 int  n =90|28;

与 运算 和 或 相反


位逻辑异或

一样等于 0
不一样等于 1

  int  n =21^28;
  //9

逻辑位左移

左移 越移越大
右移 越移越小

从右往左移动,移出来的空位0补位

例如: 11 左移 2位 = 44

int n = 11 << 2;
//44

逻辑位右移

右移动和左移的原理一样 只是方向不同

例如: 11 右移 2位 = 2

例如:移2位 那么后2位就丢弃 丢弃后:0 0 1 0

1 0 1 1 (11)右移2位= 0 0 1 0(2)
0010 其中的 00 是补的空位

int n = 93>>3;
//11

以上是关于C# 逻辑位运符及运算原理 按位操作二进制的主要内容,如果未能解决你的问题,请参考以下文章

C# 逻辑位运符及运算原理 按位操作二进制

c语言的按位运算符怎么操作!?

C# 位运算符

C#中&和&&的区别

位运算

位运算