C#中的位的或运算的理解
如果懂位的运算,看到下面这2个程序执行的结果,会很容易理解,如果像我这样的菜鸟,刚接触开始肯定也觉得晕晕的,|= 这是什么运算符?


|=就是位的或运算符,下面还是用上面的程序来讲解一下,为什么上面2个程序结果输出的是a,而不是A或者B
1. 算出字符在ASCII表中的十进制值
char c = 'A';// 在ASCII表中,字符A的二进制的值是 0100 0001 (十进制是65)
c |= ' ';// 在ASCII表中,一个空一格的字符' '的二进制的值是 0010 0000(十进制是32)
怎么算出它的值?查看一下ASCII表就知道,如下图所示




如果懒得查ASCII表,也可以通过运行C#程序可以知道,在程序中设置个断点

这样就得出字符A所对应的十进制的值35,然后我们可以自己手动算出它的二进制的值 0100 0001
2. 有了二进制的值,就开始进行位的或运算吧
A: 00000000 00000000 00000000 01000001 (十进制65)
空格: 00000000 00000000 00000000 00100000 (十进制32)
位或运算,就是只要有一个1就是1,两个都是0才是0
结果: 00000000 00000000 00000000 01100001 (十进制97)
现在回头看看这个结果是不是在ASCII表中就是 a.
3 知道了这个位的或运算和ASCII表中字母所表示的值,我们可以运用在判断某个字符是否为大写或小写字母了

C#中的位的或运算的理解的更多相关文章
- js中的位运算
按位运算符是把操作数看作一系列单独的位,而不是一个数字值.所以在这之前,不得不提到什么是"位": 数值或字符在内存内都是被存储为0和 1的序列,每个0和1被称之为1个位,比如说10 ...
- PHP中的位运算与位移运算(其它语言通用)
/* PHP中的位运算与位移运算 ======================= 二进制Binary:0,1 逢二进1,易于电子信号的传输 原码.反码.补码 二进制最高位是符号位:0为正数,1为负数( ...
- C语言中的位运算和逻辑运算
这篇文章来自:http://blog.csdn.net/qp120291570/article/details/8708286 位运算 C语言中的位运算包括与(&),或(|),亦或(^),非( ...
- C/C++中的位运算
位运算 位运算的运算分量只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位串信息,按位完成指定的运算,得到位串信息的结果. 位运算符有: &(按位与).|(按位或) ...
- PHP:第一章——PHP中的位运算
//位运算: /*$a & $b;//And(按位与).$a和$b都为1的被设为1: $a | $b;//(按位或).$a和$b任何一个为1的位被设为1 $a ^ $b;//Xor(按位异或) ...
- Google Earth Engine 中的位运算
Google Earth Engine中的位运算 按位运算是编程中一个难点,同时也是在我们后续处理影像数据,尤其要使用影像自带的波段比如QA波段经常会用到的一个东西.通过按位运算我们可以筛选出我们想要 ...
- 位运算和enum中的位运算
1.位逻辑非运算 ~ 位逻辑非运算是单目的,只有一个运算对象.位逻辑非运算按位对运算对象的值进行非运算,即:如果某一位等于0,就将其转变为1:如果某一位等于1,就将其转变为0. 比如,对二进制的100 ...
- [翻译] Linux 内核中的位数组和位操作
目录 Linux 内核里的数据结构 原文链接与说明 Linux 内核中的位数组和位操作 位数组声明 体系结构特定的位操作 通用位操作 链接 Linux 内核里的数据结构 原文链接与说明 https:/ ...
- [Java 泥水匠] Java Components 之二:算法篇之项目实践中的位运算符(有你不懂的哦)
作者:泥沙砖瓦浆木匠网站:http://blog.csdn.net/jeffli1993个人签名:打算起手不凡写出鸿篇巨作的人,往往坚持不了完成第一章节. 交流QQ群:[编程之美 365234583] ...
随机推荐
- sql server: quering roles, schemas, users,logins
--https://docs.microsoft.com/en-us/sql/relational-databases/security/authentication-access/managing- ...
- mysql 中表和数据库名称不要使用 '-' 命名
mysql 中表和数据库名称不要使用 '-' 命名 若使用这个符号,比如 my-name 做为数据库表名称 那么在 sql 中必须如下: select * from `my-name`
- Oracle 11g数据库的创建
由于是自己自学Oracle,如果有问题,请大家指出,谢谢! Oracle提供了DBCA来创建数据库,对于初学者来说使用DBCA创建数据库简化了很多工作和设置,直接在交互界面即可实现所有的功能. 然而对 ...
- loadrunner 技巧-模拟Run Logic中的随机Action运行
技巧-模拟Run Logic中的随机Action运行 by:授客 QQ:1033553122 可以这样做,Run-time Settings,删除Action7,然后在其它Action比如Acti ...
- OpenCV 填充(ROI)+模糊操作
1.ROI 操作 src = cv.imread('./1.jpg') cv.imshow('src',src) dst = src[40:240,100:300] gray = cv.cvtColo ...
- 项目开发常见字符串处理模型-strstr-while/dowhile模型
strstr-whiledowhile模型用于在母字符串中查找符合特征的子字符串. c语言库提供了strstr函数,strstr函数用于判断母字符串中是否包含子字符串,包含的话返回子字符串的位置指针, ...
- gitlab-ci的注意点
在使用gitlab搭配gitlab-runner进行ci配置时,发现两个问题,略记如下备忘: 1. 若发现ci job控制台显示无法下载该项目,但当前提交代码人和ci用户都确实具备该项目的访问权限时, ...
- 【HANA系列】SAP HANA XS的JavaScript API详解
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA XS的Java ...
- 1. svg学习笔记-在网页中使用svg
在网页中使用svg有以下三种方式 1. svg归根结底来说是一种图像格式,虽然有别于jpeg,gif,png等位图图像格式,所以在网页中能嵌入图像的地方都可以嵌入svg,例如将svg文件设置为< ...
- Mouse Without Borders软件,主要功能备忘录
详细地址:https://blog.csdn.net/andylauren/article/details/64540500