如果懂位的运算,看到下面这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表中字母所表示的值,我们可以运用在判断某个字符是否为大写或小写字母了

最新文章

  1. LeetCode(115) Distinct Subsequences
  2. Redis中统计各种数据大小的方法
  3. idea中的svn配置
  4. 034. asp.netWeb用户控件之三通过用户控件实现用户注册和登录
  5. DS实验题 Old_Driver UnionFindSet结构 指针实现邻接表存储
  6. dd命令使用详解
  7. csharp excel interop programming
  8. 高性能网络I/O框架-netmap源码分析
  9. C语言内存对齐原理
  10. [Backbone.js]如何用backbone写一个仿网页版微信的webapp?
  11. HTML5 总结-拖放-3
  12. Android:开发环境搭建、移植
  13. Python数据结构与循环语句
  14. JDK1.8源码(四)——java.util.Arrays 类
  15. revit二次开发addin文件
  16. 软件工程(GZSD2015) 第二次作业成绩
  17. sublime text3中sass编译后保存到指定文件夹
  18. Linux 简介(day1)
  19. windows下如何安装pip以及如何查看pip是否已经安装成功
  20. pat 甲级 1086(树的遍历||建树)

热门文章

  1. agc023C - Painting Machines(组合数)
  2. tensorflow 文件队列
  3. Cookie管理 WebView同步
  4. springboot 学习之路 20 (整合RabbitMQ)
  5. JavaWeb:jsp
  6. 使用NPOI导入导出Excel(xls/xlsx)数据到DataTable中
  7. Go语言学习笔记(一)Let's 干吧
  8. elasticsearch版本控制及mapping映射属性介绍
  9. Git的上传步骤
  10. 转://SIHA环境修改主机名实施步骤