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 


相关文章
|
7月前
|
网络协议 API C#
C# 中模拟 POST 和 GET 请求的原理与实践
【1月更文挑战第4天】在现代网络应用中,HTTP请求是客户端与服务器交互的基础。其中,GET和POST是最常用的两种请求方法。本文将介绍如何使用C#语言模拟这两种请求,并解释其背后的工作原理。我们将利用.NET框架中的HttpClient类来发送请求,并处理服务器的响应。通过本文,读者将能够理解HTTP请求的基本构成,学会在C#中编写代码来模拟这些请求,进而在开发过程中实现与Web服务的交互。
c#之Attribute特性的原理
c#之Attribute特性的原理
71 0
C#基础④——算数运算符(前加、后加、前减、后减)、关系运算符、逻辑表达式
C#基础④——算数运算符(前加、后加、前减、后减)、关系运算符、逻辑表达式
C#中算数运算符及逻辑运算
C#中算数运算符及逻辑运算
86 0
|
存储 程序员 C#
C#的注释、快捷键、字符和运算
C#的注释、快捷键、字符和运算
284 0
|
C# 图形学
【unity之c#】所以迭代器的原理知识你还清楚吗?
【unity之c#】所以迭代器的原理知识你还清楚吗?
143 0
|
存储 程序员 编译器
小解c# foreach原理
小解c# foreach原理
181 0
|
C# 计算机视觉
Win8Metro(C#)数字图像处理--2.29图像除法运算
原文:Win8Metro(C#)数字图像处理--2.29图像除法运算  [函数名称] 图像除法函数DivisionProcess(WriteableBitmap src, WriteableBitmap di...
848 0
|
C# 计算机视觉
Win8Metro(C#)数字图像处理--2.28图像乘法运算
原文:Win8Metro(C#)数字图像处理--2.28图像乘法运算  [函数名称] 图像乘法函数MultiplicationProcess(WriteableBitmap src, WriteableBit...
770 0