博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
位运算初学
阅读量:5033 次
发布时间:2019-06-12

本文共 1179 字,大约阅读时间需要 3 分钟。

      逻辑运算与逻辑位移

      位运算说穿了,就是直接对整数在内存中的二进制位进行操作。在计算机中的位运算符有如下这么几种:(&按位与)   (|按位或)  (^按位异或)   (~按位取反) ,优先级我们不谈。每个位运算实际的效果:

      假设 1  为真,这其实和数学里一样的

      与运算:0 & 0 = 0, 0 & 1 = 0, 1 & 0 = 0, 1 & 1 = 1       同为真则表现为真,其余均为假

      或运算:0 | 0 = 0, 0 | 1 = 1, 1 | 0 = 1, 1 | 1 = 1     同为假则表现为假,其余均为真

      异或: 0 ^ 0 = 0, 0 ^ 1 = 1, 1 ^ 0 = 1, 1 ^ 1 = 0   2个值不同,则为真,相同则为假

      取反:真 , 取反 , 为假  

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

      移位运算用来将整型或字符型数据作为二进位信息串作整体移动。我们可以把移位运算分为2类,A:逻辑移位  B:算术移位

      逻辑左移位或者右移位都是移动后,空出的位置补 0

    (假设位模式是使用的二进制补码方式存储的带符号的整数)

      算术左移位丢弃符号位,接收新的位作为符号位,如果新的符号位与以前相同,则移位成功,否则发生溢出(上溢\下溢)

      算术右移位保留符号位,丢弃最右边的位

   位模式:10011001  (-53)         

      进行算术右移位后:110011000 (符号位保留,之前最右边的1丢弃,最右边补0) -52

      位模式:11011001(-39)      

      进行算术左移位后:10110010(符号位被以前的第二位1替换了,最右边补0) -78

      

      逻辑运算和逻辑位移为我们提供了操作位模式的工具。请看下文:

假设有一个模式在判断过程中需要用此模式的第三位(h g f e d c b a),也就是说我们需要知道这个 c  到底是 0 还是 1.

      操作方法:

             逻辑右移一次:   0 h g f e d c b

             逻辑右移第二次: 0 0 h g f e d c

             AND                 0 0 0 0 0 0 1

             如果结果是 0 ,那么目标位就是 0; 反之如果结果是 1 ,则目标位是 1

      平时的开发位模式运算用的比较少~~~ C\C++底层中用的比较多,节省资源,提升"效率"~

      笔者手打本文,各方资料请参考:    &&  《计算机科学导论》

转载于:https://www.cnblogs.com/legendtao/p/5073215.html

你可能感兴趣的文章
设计模式之单例
查看>>
树莓派 - 调试串口
查看>>
close()和flush()方法的区别?
查看>>
CSplitterWnd类
查看>>
idea主要设置大纲图
查看>>
Codeforces Round #167 (Div. 1 + Div. 2)
查看>>
Oracle 关闭正在执行的job
查看>>
Istio调用链埋点原理剖析—是否真的“零修改”分享实录(下)
查看>>
Question 关于js正则的问题,why????????????????
查看>>
day04 python_selenium
查看>>
关于 hover 时候闪烁的问题
查看>>
加密学教程(Cryptography Tuturials)文件夹
查看>>
90后大学生卖煎饼月收入4k
查看>>
MongoDB的查询索引
查看>>
u-boot简单学习笔记(二)——AR9331 uboot.lds分析
查看>>
文件操作:根据现有类生成所需要的类
查看>>
pdf中内嵌字体问题
查看>>
Debian搭建WordPress
查看>>
Xstream 解析xml文件内容
查看>>
JavaScript正则表达式方法总结
查看>>