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

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

前言:

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

位运算符:

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

位逻辑非

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

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 


相关文章
|
9月前
|
C#
C#基础④——算数运算符(前加、后加、前减、后减)、关系运算符、逻辑表达式
C#基础④——算数运算符(前加、后加、前减、后减)、关系运算符、逻辑表达式
|
9月前
|
C#
C#中算数运算符及逻辑运算
C#中算数运算符及逻辑运算
54 0
|
API C#
用C#实现屏幕吸色功能,附逻辑思维讲解图,功能代码不超过50行即可实现
此程序是我上学的时候写的,好几年前的事了,前几天整理硬盘文件时发现自已其实还写过很多东西,当时还没有在园子里面混,故没怎么分享,现在有时间那就给需要的朋友分享分享,我的主要实现思路是: 一、创建一个画布(即为Form),大小和当前屏幕大小一样 二、在这快画布上建立一个绘图对象,截取复制当前屏幕内...
1215 0
|
1月前
|
C#
24. C# 编程:用户设定敌人初始血值的实现
24. C# 编程:用户设定敌人初始血值的实现
22 0
|
2月前
|
SQL 数据库连接 应用服务中间件
C#WinForm基础编程(三)
C#WinForm基础编程
79 0