异或运算交换两个整数

异或运算有两个特性:

1、一个数异或本身恒等于0,如5^5恒等于0;

2、一个数异或0恒等于本身,如5^0恒等于5。


基于此,交换操作如下:

a=a^b;

b=b^a;

a=b^a;

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

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

相关文章

Liferay中使用portlet:resourceURL触发serveResource()方法调用的细节

引入&#xff1a;大家在Portlet 开发中经常用到<portlet:resourceURL>&#xff0c;而大体上都会去调用相应的serveResource()方法&#xff0c;这个过程虽然大家都清楚&#xff0c;但是能弄明白这个过程细节的&#xff0c;我相信全世界不超过100人&#xff0c;至少我去年就…

使用ESP定律_手工脱壳

ESP定律脱壳一般的加壳软件在执行时&#xff0c;首先要初始化&#xff0c;保存环境&#xff08;保存各个寄存器的值&#xff09;&#xff0c;一般利用PUSHAD&#xff08;相当于把所有寄存器都压栈&#xff09;&#xff0c;当加壳程序的外壳执行完毕以后&#xff0c;再来恢复各个…

原码、反码、补码,以及负数的位操作

1、 原码&#xff1a;将符号位数码化了的数&#xff0c;其中“”用0表示&#xff0c;“-”用1表示。 反码&#xff1a;正数的反码表示与原码表示一样&#xff1b;负数的反码表示是原码表示的符号位不变&#xff0c;数值位逐位取反。 补码&#xff1a;正数的补码表示与原码表…

IT菜鸟之DHCP

DHCP 动态主机配置协议&#xff08;Dynamic host configuration protocol&#xff09;作用&#xff1a;分配网络地址选项&#xff1a;excluded-address 排除地址pool IP地址池&#xff08;网段 - 排除地址 地址池&#xff09;relay DHCP代理服务器&#xff08;无用&#xff09…

override render 方法

有时候需要在ASP.net 或MVC 中在页面呈现前&#xff0c;把要显示的内容作一个拦截&#xff0c;更改内容后显示。 只要重写 protected override void Render(System.Web.UI.HtmlTextWriter writer) 方法。 例如&#xff1a; 我把返回的内容中的html 的标题进行改变&#xff0c;…

Sliverlight MD5

突然想在WP上用MD5 &#xff0c;c#的MD5方法在SL下是不能用的额 搜索下MSDN&#xff0c;找到解决方法&#xff1a; http://archive.msdn.microsoft.com/SilverlightMD5 下载那两个类添加到工程中&#xff0c;然后添加代码: 1: protected string GetMD5Hash(string input) 2: { …

“指针+1”的理解

1、一个32位的机器&#xff0c;该机器的指针是多少位的&#xff1f; 指针是多少位只要看地址总线的位数就行了&#xff0c;80386以后的机子都是32的地址总线&#xff0c;所以指针的位数就是4个字节了。 2、指针加1&#xff0c;结果是对该指针增加1个储存单位。 &#xff08;…

apache-apollo启动报错

启动Apollo后&#xff0c;进入网页版管理中心后报错&#xff1a;500: Server Error https://127.0.0.1:61681/console/index.html 网页抓包 报错&#xff1a;{"code":"500: Internal Server Error","message":"java.lang.IllegalArgumentEx…

android 标签对应的代码怎么写alignParentRight、marginRight

2019独角兽企业重金招聘Python工程师标准>>> android:layout_alignParentRight"true" LayoutParams lp new LayoutParams(mp); lp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); 转载于:https://my.oschina.net/zhangjie830621/blog/158899

TinyXML保存UTF-8编码的XML

最近的项目在Linux下用到了TinyXML库&#xff0c;但是输出xml中的中文总是显示乱码&#xff0c;用UltraEdit查看输出文件为ASCII编码&#xff0c;求助Google大神&#xff0c;发现只需要将tinyxml.cpp源文件中的3处useMicrosoftBOM false;改为useMicrosoftBOM true;即可输出UT…

位操作实现加减乘除

一、常见功能的位操作实现&#xff1a; &#xff08;1&#xff09;常用的等式&#xff1a;-n ~(n-1) ~n1&#xff1b; &#xff08;2&#xff09;获取整数n的二进制中最右边一个1&#xff1a;n&(-n)或者n&~(n-1)&#xff0c;如&#xff1a;n010100&#xff0c;则-n…

【随笔】About QWERTY

QWERTY键盘排布的最初目的是为了减慢人们的打字速度从而减缓对机器的压力&#xff0c;虽然随着时间的推移机器的处理能力越来越强&#xff0c;但是人们已然习惯了QWERTY键盘的打字习惯&#xff0c;所以QWERTY键盘布局被保留了下来。但是有一点奇怪的是QWERTY键盘被原封不动的照…

windows系统c++多线程开发

线程的一些基本概念 一、线程的基本概念。 基本概念&#xff1a;线程&#xff0c;即轻量级进程&#xff08;LWP:LightWeight Process&#xff09;&#xff0c;是程序执行流的最小单元。一个标准的线程由线程ID、当前指令指针&#xff08;PC&#xff09;&#xff0c;寄存器集合…

centos 下安装配置nfs服务器

1、环境centos5.6_x64iptables 关闭selinux 开启&#xff08;这个好像不影响&#xff09;服务端&#xff1a;192.168.10.150客户端&#xff1a;192.168.10.1522、安装yum install portmap //默认已安装yum install nfs-utils3、创建共享目录mkdir /nfsvim /etc/exports/nfs 19…

使用FTP获取RFC文档

连接FTP服务器主机&#xff1a; ftp FTP.RFC-EDITOR.ORG 21&#xff08;21是FTP中控制连接的端口号&#xff09;输入用户名&#xff1a;anonymous输入密码&#xff1a;namehost.domainRFC文档是放在in-notes/rfcxxxx.txt中的&#xff08;xxxx是RFC文档的编号&#xff09;&#…

XP系统安装SQL2000企业版开启1433端口

1.获得SQL2000安装包2.获得SQL2000.MSDE-KB884525-SP4-CHS.EXE/SQL2000-KB884525-SP4-X86-CHS.EXE补丁包微软官网有下载3.在SQL2000 的安装盘中找到MSDE这个目录&#xff0c;并且点击setup.exe安装&#xff0c;完成后重启。4.再次安装SQL2000客户端工具&#xff0c;完成后重启5…

GPU编程语言选择(OpenCL、CUDA 与C++ AMP)

1、CUDA、OpenCL与C AMP 其实在C AMP之前已经有了两个异构编程框架&#xff1a;CUDA与OpenCL。CUDA&#xff08;Compute Unified Device Architecture&#xff09;是显卡厂商Nvidia于2007年推出的业界第一款异构并行编程框架。在Nvidia的大力支持下&#xff0c;CUDA拥有良好的开…

初见 IsolatedStorage

IsolatedStorage 翻译过来是(隔离存储空间) 怎么理解呢,jake lin的故事讲得很好,可以拿过来借用一下 " 朝鲜人民精神文明都非常的发达, 因此上网时都不需要访问internet. 因此不可能访问我们的网络.也不能访问其他精神文明没有他们发达的国家的网络. 我们也不能访问朝鲜的…

单链表的头插法和尾插法实现代码(无头结点)

/*头指针,可以发现head是赋值为NULL&#xff0c;而不是head->next*/ //-----------------头插法------------------- node *head, *p; head NULL; while (……) {p (node *)malloc(……);p->data ……;p->next head;//此时第一个p的next指针是NULL&#xff0c;其后…

iptables的SNAT和DNAT应用

首先开启路由转发功能&#xff1a;# vim /etc/sysctl.confnet.ipv4.ip_forward 1# sysctl -p&#xff08;1&#xff09;SNAT&#xff1a;内网主机 --访问--> 外网服务器<1> 搭建模拟环境内网PC1&#xff1a;172.16.0.1/16&#xff08;Host-Only&#xff09;网关PC2&a…