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

网站内容页设计出版社类网站模板

网站内容页设计,出版社类网站模板,广州注册公司地址,教务处教务网络管理系统目录 前言 一.常见的小问题 1.给定一个数n,确定它的二进制表示中的第x位是0还是1 2.给定一个数n#xff0c;将它的二进制表示中的第x位修改成1 3.给定一个数n#xff0c;将它的二进制表示中的第x位修改成0 4.给定一个数n#xff0c;提取它的二进制表示中最右侧的1…目录 前言 一.常见的小问题 1.给定一个数n,确定它的二进制表示中的第x位是0还是1 2.给定一个数n将它的二进制表示中的第x位修改成1 3.给定一个数n将它的二进制表示中的第x位修改成0 4.给定一个数n提取它的二进制表示中最右侧的1即将其它位置位0 5.给定一个数n去掉它的二进制表示中最右侧的1 6.异或运算的规则 二.典型例题 前言 位运算是一类常考的题型关于位运算的操作符有以下几种: 按位取反~ 左移操作符 右移操作符 按位与 按位或 | 按位异或^ 重点要区分|和^这几个操作符按位与是有0则0按位或是有1则1 按位异或相同为0相异为1。也可以记成“无进位相加”例如112 因为是二进制所以变成0但是不进位。 接下来介绍怎么利用这些操作符来解决常见的问题 一.常见的小问题 1.给定一个数n,确定它的二进制表示中的第x位是0还是1 首先声明默认最低位是第0位。 方法将n右移x位与1做按位与操作若结果为1则n的第x位是1若结果是0则第x位是0 说明右移操作是为了将第x位移到最低位方便与1的最低位按位与而1的其它位全是0有0则0故其它位的结果肯定是0而最低位的结果则取决于x位是0还是1 代码操作(n x) 1  2.给定一个数n将它的二进制表示中的第x位修改成1 方法将1左移x位再与n按位或 说明将1左移x位是为了对n的第x位进行“定向打击”1的第x位是1其余位是0。按位或的特点是有1则1故结果的第x位肯定是1其它位取决于n的其它位是0还是1,和原来相比不会变化 代码操作n (1 x) | n 3.给定一个数n将它的二进制表示中的第x位修改成0 方法将1左移x位按位取反再与n按位与 说明按位与的特点是有0则0故结果的第x位肯定是0其它位取决于n的其它位是0还是1和原来相比不会发生变化 代码操作n (~(1 x) ) n 4.给定一个数n提取它的二进制表示中最右侧的1即将其它位置位0 方法n -n  说明由n向-n转变先将n按位取反然后加1这样使得n最右侧的1左边区域全变成相反右边区域全变成0而按位与的特点是有0则0故只有最右侧的1异或的结果是1其余全是0。 5.给定一个数n去掉它的二进制表示中最右侧的1 方法n (n - 1) 说明由n到n-1最右侧1的左边区域不变右边区域包括1全部变成相反按位与的特点是有0则0故最右侧的1肯定会变成0其余位不变 6.异或运算的规则 a ^ 0 a a ^ a 0 a ^ b ^ c a ^ c ^ b  二.典型例题 接下来有几道例题大家可以先尝试做一做答案放在下面了 位1的个数 class Solution { public:int hammingWeight(uint32_t n) {int ret 0;for (int i 0; i 31; i){if (((n i) 1) 1){ret;}}return ret;} }; 比特位计数 class Solution { public:vectorint countBits(int n) {//x(x-1)将x的最右侧的1变成0vectorint v(n 1);for (int i 0; i n; i){int x i;int count 0;while (x){count;x x (x - 1);}v[i] count;}return v;} }; 汉明距离 class Solution { public:int hammingDistance(int x, int y) {int n x ^ y;//统计有多少个1int ret 0;while (n){ret;n n (n - 1);}return ret;} }; 只出现一次的数字 class Solution { public:int singleNumber(vectorint nums) {int ret 0;for (int i 0; i nums.size(); i){ret ^ nums[i];}return ret;} }; 只出现一次的数字iii class Solution { public:vectorint singleNumber(vectorint nums) {//目标将两个单身狗分开相同的数不拆散再将两组分别异或//方法根据两个单身狗任意一个不同的比特位来进行分组int n 0;for (auto e : nums){n ^ e;}//找到比特位是1的位置--两个单身狗这一位不同int pos 0;for (int i 0; i 31; i){if (((n i) 1) 1) {pos i;break;}}//根据这一位置的值将所有数分成两组异或int ret1 0, ret2 0;for (auto e : nums){if (((e pos) 1) 0){ret1 ^ e;}else{ret2 ^ e;}}return {ret1, ret2};//隐式类型转换} };
http://www.dnsts.com.cn/news/95271.html

相关文章:

  • 代做备案网站什么是网站建设需求
  • 扬州建设企业网站重庆分类健康管理
  • 深圳网站制作公司哪家好网站备案主体负责人
  • php做网站的技术难点知乎问答网站开发教程
  • 网站域名费用怎么做帐什么网站管理系统好
  • 网站seo优化有哪些书店网站建设规划书
  • 网站这么建设泰州网站关键词优化软件咨询
  • 建设部网站监理公告网页制作教程和素材
  • 广东网站系统建设企业网站建站技术
  • 注册网站怎么注册app定制开发网站建设
  • 商业网站源码萤火虫网站建设优化
  • 企业内部网站建设方案2023最佳创业商机
  • html怎么做网站地图琼海建设网站
  • 江门免费网站建站模板网站建设哪家售后做的好
  • 健康养生网站源码沈阳高端做网站建设
  • 免费购物网站建设部执业注册中心网站
  • 手机建网站需要多少钱it培训机构一般多少钱
  • 能看任何网站的浏览器网站域名交易
  • iis默认网站启动不了云南省住房和城乡建设厅官方网站
  • 易名网站备案用DW做网站时怎么在新窗口打开
  • 网站建设需要关注什么同一ip网站
  • 米客优品的网站是哪做的做网站张家口
  • 网络营销个人网站wordpress 主机空间
  • 网站建设演讲稿重庆市建设工程信息网安全监督查询
  • 国外的做外包项目的网站wordpress通用页面模板
  • 网站搜索框设计wordpress 插件 安装教程
  • 网站设计公司建设医院网站建设与管理ppt
  • 域名备案关闭网站wordpress页面模板插件
  • 电影网站开发影院座位问题wordpress theme o'connor 下载
  • 一站式网站建设 t云仿wordpress模板教程