当前位置: 首页 > news >正文

网站建设高律师网站建设推广

网站建设高,律师网站建设推广,长春百度关键词推广,百度推广有哪些售后服务let a 18 // 甲 let b 20 // 乙a a ^ b b a ^ b a a ^ b console.log("a",a) // a 20 console.log("b",b) // b 18今天我们就研究上面这一段代码,简单解释一下,初始化一个a 18 b 20, 中间经过了三次的异或之后…
let a = 18 // 甲
let b = 20 // 乙a = a ^ b 
b = a ^ b 
a = a ^ b console.log("a=",a) // a = 20
console.log("b=",b) // b = 18

今天我们就研究上面这一段代码,简单解释一下,初始化一个a = 18 b = 20, 中间经过了三次的异或之后,a 和 b的值就完成了交换,中间的原因我们今天研究一下

首先异或是一种位运算,元算规则可以简单的理解为,相同为0,不同为1 所以也可以简单的理解为不进位的二进制运算

console.log(0 ^ 1) // 1
console.log(0 ^ 0) // 0
console.log(1 ^ 1) // 0 
console.log(1 ^ 0) // 1
console.log(1 ^ 0 ^ 0) // 1

上面的规律我们可以简单的总结一下:

  • 规则1: 0 异或任何值 都是非0本身
  • 规则2: 任意相同的两个值进行异或,均为0
  • 规则3: 异或的两个值不会随着位置变化而对结果产品变化 所以他满足交换律和结合律

这个时候我们重新看开始的那段代码可以理解为下面的解释

// 假设 a = 甲 b = 乙
a = a ^ b // a = 甲 ^ 乙  b = 乙
b = a ^ b // b = 甲 ^ 乙 ^ 乙  b = 甲
a = a ^ b // a = 甲 ^ 乙 ^ 甲  a = 乙
// 最后 a = 乙 b = 甲 自然得到了 a = 20 b = 18

当然上面的数据需要满足一个前提条件,异或属于位运算,所以参与运算的数据必须是不同位置的才可以,计算机中不同的位置对应的就是不同的内存地址,相同地址就没有位元算的意义了。但是因为js定义变量都是独立的内存位置,所以js中基本上不存在这种公用一个位置的变量,但是c和java这种就不一定了,所以用来交换的时候慎用!!!

给枯燥无味的业务代码添加一点乐趣

http://www.yayakq.cn/news/314089/

相关文章:

  • 一个网站建设大概需要多少费用wordpress数据库设置
  • 建站记录查询专业网页制作技术
  • 各级院建设网站的通知百度推广怎么做的网站
  • 网站建设公司费用江西工程建设信息网站
  • 建设部网站 43号文件哈尔滨网站建设丿薇
  • 哈尔滨做网站seo的岳阳设计网站推荐
  • 可以做公众号封面图的网站台州建网站
  • 网站建设的平台电影网站vps服务器
  • 全国十大网站建设公司百度商桥的代码放到网站里
  • 合肥高端网站开发wordpress帖子增强
  • 龙岗网站建设网站制作外包公司网站
  • 天猫网站设计特点比较好的室内设计网站
  • 双流区规划建设局网站专业seo网站
  • 宣传 网站建设方案国内org域名的网站
  • 网站开发与制作工资简述电子商务网站的建设
  • 建设网站专业公司烟台网站制作哪家好
  • 关于小城镇建设的网站延庆网站建设优化seo
  • 安阳淘宝网站建设做同城网站还有机会吗
  • 重庆企业做网站网站开发对企业有什么用
  • 51购物网官方网站织梦cms做网站
  • 移动网站开发教材做暧暖的免费网站
  • 网站免费正能量软件直播个人网站 阿里云
  • 网站建设面授班交易类网站seo怎么做
  • 东莞市建设培训中心网站西安php网站开发培训班
  • 网站注册系统用什么做wordpress excel导入
  • 手机卡盟网站建设咋创建自己的网站
  • 公司网站建设制作全包河南省建设工程信息网站
  • 邢台做网站哪儿好dedecms 网站 经常无法连接
  • 做刷机网站赚钱吗建设网站费用分析
  • 兼职做海报网站大连集团网站建设