位运算

我们复习一下位运算,这里介绍一下(& ,|,  ^)的用途。

按位与 ------------&

规则:   0&0=0    0&1=0   1&0 =0  1&1=1  ( 两位为1,才是1)
作用:  清零与保位。通常用来将特定的位清零,其他位保持不变。
比如:
00101011 ,我们希望将此数的7,8位请零,其它位保持不变,则只需与如下数字做&运算。
0 0 1  0  1  0  1  1
   &    1  1 1  1  1 1  0  0     
0  0   1  0 1 0  0  0
技巧:   清零,清哪位,就令哪位为0;保位,保哪位,就令哪位为1

按位或 ------------|

规则:   0|0=0    0|1=1   1|0 =1  1|1=1      (有一位为1,则为1)
作用: 设位。通常用来将特定的位设为1,其它保持不变。
比如:
将00110000后四位设为1.
则   0 0 1 1 0 0 0 0 
  |  0 0 0 0 1 1 1 1
0  0  1 1 1 1 1 1
技巧: 想设哪位为1,则设为1,其它为0

按位异或 -----------^

规则:   0^0=0    0^1=1   1^0 =1 1^1=0    (相同为0,不同则为1)
作用: 
1. 使特定位翻转
假设有01111010,想使其低四位翻转,即1变为0,0变为1.可以使其与00001111进行^运算,即:
0 1 1 1 1 0 1 0
   ^   0  0  0 0 1 1 1 1
0 1  1 1 0 1 0 1
要使哪几位翻转,就将与其进行^运算的该几位置为1即可。

2.与0异或,保持原值
例如: 012^00=012    
0 0 0 0 1 0 1 0
    ^    0 0 0 0 0 0 0 0
0 0 0 0 1 0 1 0
3. 与自身异或,设为0
例如:012^012=00
0 0 0 0 1 0 1 0
   ^     0  0 0 0 1 0 1 0
0  0 0 0 0 0 0 0
4.交换两个值,不用临时变量

a=a^b;
b=b^a;
a=a^b;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/259121.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

详解JMeter函数和变量

详解JMeter函数和变量(1) JMeter函数可以被认为是某种特殊的变量,它们可以被采样器或者其他测试元件所引用。函数调用的语法如下: ${__functionName(var1,var2,var3)} 其中,__functionName匹配被调用的函数名称。用圆括…

信号反射

突然想起来前几天调试CAN通讯的时候出现的BUG,那就是传说中的“信号反射”,也有称“振铃”的。错误刚出现的时候没有意识过来,还说怎么出现重复出现这么多条消息呢?光在书本上看到过这个概念,没有“实物”与之对应起来…

hdu 5199 map或二分或哈希

题目描述:给出n棵树的高度,每棵树上都站着一只鸟,枪手Jack站在最左边那棵树的左边对鸟进行射击,当Jack在高度为H的地方向右发射一颗子弹的时候,高度为H的树上的鸟儿就会掉落(注:其他树上的鸟儿不…

数字电路实验怎么接线视频讲解_家庭影院中音箱、功放、投影机、4K播放机不知道怎么连接?手把手教你...

家庭影院中音箱、功放、投影机、4K播放机不知道怎么连接?手把手教你有不少用户收到从家庭影院器材之后,表示完全不会连接。翻看说明书也觉得头大,知识太多,然而却很难找到要点。今天主要跟大家讲讲如何连接音箱、功放、投影机和影…

.NET开发过程中的全文索引使用技巧之Solr

前言:相信许多人都听说过.net开发过程中基于Lucene.net实现的全文索引,而Solr是一个高性能,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能…

关于字符的读入与输出

在笔试中,经常见到字符的读入与输出的题目。逆序打印输入时最常见、最基本的考题,复杂点的就是统计单词、逆序打印单词之类的。难点是如何判断输入的结束,如果用getchar函数,其输入结束符为EOF(其打印值为-1&#xff0…

修正discuz发帖首次换行无效的问题

找遍了百度和google都没有解决方案,连discuz官方都没有出来解决,至今其官网仍有这个问题。 那就自己动手解决吧,顺手打个补丁。虽然走了小路,但是能解决问题。 解决方案:修改static/js/bbcode.js 找到 html2bbcode()方…

auto.js停止所有线程_Java线程与并发编程实践:深入理解volatile和final变量

同步有两种属性:互斥性和可见性。synchronized关键字与两者都有关系。Java同时也提供了一种更弱的、仅仅包含可见性的同步形式,并且只以volatile关键字关联。假设你自己设计了一个停止线程的机制(因为无法使用Thread不安全的stop()方法))。清单1中Thread…

项目实例改编:利用structs2的action 实时显示图片、pdf和其他内容的框架抽取。(转)...

转自:http://www.verydemo.com/demo_c167_i1382.html 针对:预览文件(图片,PDF)文件来源为action中的inputStream 重点: structs2的action的配置 action的写法和结果类型 resulttype的写法 网页上实…

零碎的小知识点 ----------C# ToString()函数注意事项

C#中存在着大量的字符串操作,有专门的string类,各种各种的方法,其中使用最为频繁的方法为ToString(),用起来很是顺手,但是这里存在一个很大的问题,空字符是不能用ToString方法转换的,不然就会报…

ios越狱系统UIGestureRecognizer事件截获问题

越狱的机器给self.view设置一个UITapGestureRecognizer,这货就把所有的点击事件全截获了,比如某个按钮,点击就没效果.普通系统是没有问题的. 因此要给UIGestureRecognizer设置delegate并且在其中对touch的view进行分别处理 比如要让按钮功能正常使用: 1 #pragma mark - UIGestu…

开始Go开发之旅-Golang架构师之路系列实战

2019独角兽企业重金招聘Python工程师标准>>> 作者: gomaster.me(冯琪超) 系列:Golang架构师之路 巧妇难做无米之炊,golang sdk就是gopher的大米 下载golang 点击 官网下载golang sdk 根据不同系统,官网下载链接会选择相应的平台进行链接跳转&…

delete与delete[]的区别

一直对C中的delete和delete[]的区别不甚了解,今天遇到了,上网查了一下,得出了结论。做个备份,以免丢失。 C告诉我们在回收用 new 分配的单个对象的内存空间的时候用 delete,回收用 new[] 分配的一组对象的内存空间的时…

event对应的各种坐标

IE8不支持的PageXY 相对于整个页面鼠标的位置 包括溢出的部分 event.pageX; event.pageY; 所有浏览器支持的: 相对于当前浏览器窗口可视区域的坐标event.clientX;event.clientY; 相对于当前屏幕(和浏览器窗口大小无关)的坐标event.screenX;…

安卓9.0官方系统升级包_华为、荣耀公布可升级安卓10.0机型,你的手机在名单之内吗?...

在近两个月以前,美方将华为关进了小黑屋,随后谷歌也将华为旗下的机型移出了安卓10.0升级名单,这一波操作之后,引起了不小的“恐慌”,许多华为用户也在担心是否还能正常使用安卓系统服务,不过,让…

2. Mysql数据库的入门知识

2. Mysql数据库的入门知识 (1)打开Windows系统提供的服务查看相应的服务。 (2)在Windows任务管理器的进程中查看 (3)使用命令行管理windows的Mysql数据库服务。 Net start 服务名 Net stop 服务名 mysql -h…

十月读书心得

1.sizeof与strlen的区别。 #include <iostream> using namespace std; void main() {cout << sizeof("hello") << endl;}答案&#xff1a; 6原因&#xff1a; “hello”{‘h’,e,l,l,o,\0};共六个字节。 那么sizeof与strlen有什么区别呢&#xff…

nginx php-fpm 输出php错误日志(转)

nginx是一个web服务器&#xff0c;因此nginx的access日志只有对访问页面的记录&#xff0c;不会有php 的 error log信息。 nginx把对php的请求发给php-fpm fastcgi进程来处理&#xff0c;默认的php-fpm只会输出php-fpm的错误信息&#xff0c;在php-fpm的errors log里也看不到ph…

protobuf的安装和使用

以下全部基于win7系统。 protobuf是什么&#xff0c;有什么用网上说的已经很多了。这里就是说一下怎么使用。就当给自己做个笔记吧。 .proto文件的语法什么的也请网上查看&#xff0c;挺多的。 第一步&#xff1a; 下载protoc.exe 和 protobuf-java-2.4.1.jar。这里要注意版本区…

win7优化设置_win7蓝牙怎么打开?

当电脑需要连接蓝牙设备的时候&#xff0c;就需要打开蓝牙设置才行。鉴于一些win7的用户还不知道蓝牙功能在哪&#xff0c;win7蓝牙怎么打开&#xff0c;故系统圣地分享本篇教程。1、win7蓝牙怎么打开?首先要你的电脑支持蓝牙功能。如果你的电脑有蓝牙功能的话那么在电脑的右下…