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

wap网站开发完整的社群营销方案

wap网站开发,完整的社群营销方案,企业网站页面宽哪里设置,专业制作各种证书文章目录 前言一、n&(n-1)的运用场景(n为整数)二、&1 和 >>的应用场景总结 前言 本篇文章介绍利用c语言的位操作符解决一些练习题,目的是掌握各个位操作符的使用和应用场景。 表1.1为c语言中的位操作符 操作符含义&按位与|按位或^按位异或~按位…

文章目录

  • 前言
  • 一、n&(n-1)的运用场景(n为整数)
  • 二、&1 和 >>的应用场景
  • 总结


前言

本篇文章介绍利用c语言的位操作符解决一些练习题,目的是掌握各个位操作符的使用和应用场景。
表1.1为c语言中的位操作符

操作符含义
&按位与
|按位或
^按位异或
~按位取反(包括符合位)
<<左移
>>右移
表1.1 位操作符表

注意:

  1. 位操作符除"~"为单目操作符外,其余均为二目操作符,即有两个操作数
  2. 参加位操作符的对象只能是整型或字符型数据。

一、n&(n-1)的运用场景(n为整数)

题目:求一个整数存储在内存中的二进制位中1的个数(补码中1的个数)

n&(n-1)的过程如下(假设n = 15):
在这里插入图片描述

图1.1 n&(n-1)过程图
不断通过n&(n-1),每一次得到的结果是消去最右边的1;
原理:不断地向左借位,然后利用&操作符消去。 代码实现如下:
int count_2scomplement_3(int num)
{int count = 0;while (num){count++;num = num & (num - 1);}return count;
}

题目:判断一个数是不是2的n次方

这到题依然可以利用n&(n-1)进行解答,如果一个数是2的n次方,则意味只有一个1。如果n&(n-1)的结果为0,那么这个值就是2的n次方。
代码实现如下:

int main()
{int num = 0;scanf("%d", &num);if (0 == (num & (num - 1)))printf("%d is 2^n\n", num);elseprintf("%d is not 2^n\n",num);return 0;
}

题目:两个int(32位)整数的m和n二进制表达式中,有多少个不同的位

这道题的思路是:m与n进行异或运算后,得到m和n的不同位,即1的个数就是不同位的个数,此时,这题又回到了统计1的个数,即第一题的解法。
代码实现如下:

int main()
{int m = 0;int n = 0;int ret = 0;scanf("%d %d", &m, &n);int a = (m ^ n);while(a){ret++;a = a&(a-1);}printf("%d", ret);return 0;
}

二、&1 和 >>的应用场景

利用&1和>>可以统计一个二进中1或者0的个数;
利用&1和>>也可以获得任意一个位的值。

题目:求一个整数存储在内存中的二进制位中1的个数(补码中1的个数)

利用&1和>>进行解题,代码实现如下:

int count_2scomplement_2(int num)
{int count = 0;int rightmovetimes = 0;for (rightmovetimes = 0; rightmovetimes < 32; rightmovetimes++){if ((num >> rightmovetimes) & 1){count++;}}return count;
}

num >> rightmovetimes) & 1 == 1,则统计1的个数;为0则统计0的个数。

获取一个整数二进制序列中所有的奇数位和偶数位,分别打印二进制序列
要求:从高位开始打印

这道题的思路依然是利用&1和>>,从高位开始
代码实现如下:

int main()
{int num = 0;scanf("%d", &num);int i = 0;//打印奇数位for (i = 30; i >= 0; i -=2 ){printf("%d", (num >> i) & 1);}printf("\n");//打印偶数位for (i = 31; i >= 1; i -= 2){printf("%d", (num >> i) & 1);}return 0;
}

总结

本篇文章叙述了n&(n-1)和&1、>>的应用场景。

http://www.khdw.cn/news/49978.html

相关文章:

  • 青州住房和城乡建设网站seo培训优化
  • 金华手机模板建站百度正版下载并安装
  • 网站开发工具选择百度开户需要什么条件
  • 老板说做个网站我要怎么做添加友情链接的技巧
  • wordpress 增加页面沈阳网站seo排名公司
  • 自建网站网址seo推广服务哪家好
  • 什么软件可以做网站htmlgoogle网站推广
  • 铭万魔方做网站怎么样互联网公司有哪些
  • 合肥网站建设维护新媒体运营岗位职责
  • 买源码做网站网络优化工作应该怎么做
  • 空间网站模板谷歌搜索广告
  • wordpress模板变量seo交流网
  • 保定住房和城乡建设局网站搭建网站平台
  • 淘宝客网站建设百度商家平台
  • 自己电脑做网站必须装jdk北京seo优化方案
  • 网站界面设计的要求优化网站技术
  • html5手机网站开发教程百度搜索名字排名优化
  • 公司网站门户建设技术参数表广告竞价排名
  • 百度一下建设部网站上海百度推广客服电话多少
  • html是什么意思搜索引擎优化免费
  • 北京网站制作招聘网优化大师班级优化大师
  • 提供邢台专业做网站台州seo排名优化
  • 动态网站开发技术 百度百科灰色词网站seo
  • 盘锦建网站搜索引擎优化好做吗
  • 有关设计的网站免费建站
  • 个人网站制作总体设计广州网站优化页面
  • 万江做网站中国十大软件外包公司排名
  • 成都网站制作长沙关键词排名优化提升培训
  • 怎么做视频资源网站网络策划
  • 黄页网站推广app媒体资源