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

深圳做网站的公司排行中国最厉害的营销策划公司

深圳做网站的公司排行,中国最厉害的营销策划公司,搭建cms网站,做音乐分享的网站1.什么是异或? 异或:对于二进制,相同为0 不同为11 ⊕ 1 00 ⊕ 0 01 ⊕ 0 10 ⊕ 1 1 2.异或的好处? 异或的好处?1.快速比较两个值 2.xor a a例如 a 3 011xor 0110003.可以使用 异或 来使某些特定的位翻转【原因…

 1.什么是异或?

异或:对于二进制,相同为0 不同为11 ⊕ 1 = 00 ⊕ 0 = 01 ⊕ 0 = 10 ⊕ 1 = 1 

2.异或的好处? 

    异或的好处?1.快速比较两个值 2.xor a a例如 a = 3 011xor 0110003.可以使用 异或 来使某些特定的位翻转【原因】① 0 与 1 异或为 1 ② 1 与 1 异或为 0说明了 0或者1 只要与 1 做异或,得到的会是原值的相反值【例子】翻转 1010 0001 的第6位,可以与0010 0000 进行异或运算1010 0001xor 0010 00001000 00014.使用 异或 来判断一个二进制中 1 的数量是奇数还是偶数【例子】求 1010 0001中 1 的数量是奇数还是偶数1 ^ 0 ^ 1 ^ 0 ^ 0 ^ 0 ^ 0 ^ 1 = 1,结果为1就是奇数个1,结果为0就是偶数个15.校验和恢复6.交换两个值,在不使用其他空间的情况下a = a ^ b;b = a ^ b;a = a ^ b;7.二进制交换奇偶位① 取出所有的偶数位 ---- 与1010 1010 1010...相与,(用16进制表示0xaaaaaaaa)1的作用为偶数位保留,0的作用为奇数位全置0,将偶数位右移一位,偶数位到奇数位② 取出所有的奇数位——与0101 0101 0101……相与,(用16进制表示为0x55555555)奇数位保留,偶数位全为0,将奇数位左移一位,奇数位到偶数位③ 前两步所得结果^(异或)操作——合并【例子】1001 交换奇偶位变为 01101001          1001& 1010        & 01011000          0001>> 0100       << 00100100xor 00100110偶数位右移一位,这时候偶数位就变成了奇数位,奇数位左移一位,这时候奇数位就变成了偶数位,再将他们按位或就交换完毕8.只出现一次的数给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素【原因】因为一个数出现两次就会抵消为0

#include <iostream>
#include <vector>
using namespace std;// 1.快速比较两个值 
int test1(int a,int b) {if((a^b)== 0) return 1;else return 0;
}// 6.交换两个值,在不使用其他空间的情况下
void swap(int &a,int &b) {// a = 3; b = 2;// a = 011 ^ 010 ==> 001 // b = 001 ^ 010 ==> 011 => 3// a = 001 ^ 011 ==> 010 => 2a = a ^ b;b = a ^ b;a = a ^ b;
}// 7.二进制交换奇偶位
int swapJiOu(int num) {int ou = num & 0xaaaaaaaa;int ji = num & 0x55555555;return (ou>>1)^(ji<<1);
}// 8.只出现一次的数 
int singleNumber(vector<int> arr) {int single = 0;for(int num : arr) {single ^= num;}return single;
}int main() {int a = 3;int b = 2;if(test1(a,b))cout<<"两值相等"<<endl;else cout<<"两值不相等"<<endl;cout<<"a的值是: " << a <<" ,b的值是: " << b <<endl;swap(a,b);cout<<"a的值是: " << a <<" ,b的值是: " << b <<endl;cout<<swapJiOu(9)<<endl;vector<int> arr={4,1,2,1,2};cout << singleNumber(arr) <<endl;//      0100          4//  xor 0001          1//---------------//      0101           //  xor 0010          2          //---------------//      0111          //  xor 0001          1//---------------//      0110         //  xor 0010          2          //      0100          4return 0;
}

打印如下: 

heheda@heheda:~/Linux/内存对齐$ g++ xor.cpp -o app
heheda@heheda:~/Linux/内存对齐$ ./app
两值不相等
a的值是: 3 ,b的值是: 2
a的值是: 2 ,b的值是: 3
6
4

http://www.wooajung.com/news/30474.html

相关文章:

  • 江门北京网站建设百度识图 上传图片
  • 做家具的网站有哪些seo工具包括
  • 各大网站查重率比较推广软件app
  • 新乡网站开发网络热词排行榜
  • 长春建设平台网站的公司吗线上营销策划方案
  • 沈阳模板网站制作昆明抖音推广
  • 建设pc 移动网站网页查询
  • 常州微信网站制作百度站长工具查询
  • 厦门网站制作网页东莞网络营销网站建设
  • 外贸网站建设公司报价百度seo关键词排名s
  • 网站建设设计思想免费推广网站平台
  • 怎么用自己的主机做网站服务器吗搜索排名
  • 东莞 塑胶 网站建设google推广技巧
  • 什么网站做推广好建站平台哪个好
  • 批发电商做的好的网站上海今天刚刚发生的新闻
  • 苏州怎么做网站排名优化友情链接交换条件
  • 手机网站demo衡阳seo优化推荐
  • wordpress 置顶seo搜索引擎优化简历
  • 网站怎么做微信接口百度推广获客成本大概多少
  • 咸阳做网站xymokj动态网站建设
  • 佛山网站免费制作站长工具站长之家官网
  • 公司微网站制作网页开发
  • 网站代码优化目的无锡百度公司王东
  • w7自己做网站网页设计制作
  • 苏州360推广 网站建设网络营销专业介绍
  • 网站 为何要 备案推广app大全
  • 做的不错的外贸b2c网站武汉seo创造者
  • 做网站排在前十名要多少钱网络推广方法
  • 建视频网站新闻头条最新消息摘抄
  • 大连网站建设报价优质商家郑州网站关键词排名