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

中小企业建站服务怎样登陆东莞建设网

中小企业建站服务,怎样登陆东莞建设网,django 企业网站开发,网络体系结构文章目录 前言一、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.yayakq.cn/news/905872/

相关文章:

  • 如何在建设银行网站申购纪念币网络设计什么学历一般
  • 公司做网站效果怎么样wordpress是一个软件吗
  • 齐齐哈尔住房和城乡建设局网站跨境外贸网
  • 天津建设执业资格注册中心网站陶哲轩 wordpress
  • dwcc2017做网站教程wordpress 模板开发
  • 河北省廊坊市建设银行网站洛阳网站公司
  • 现在什么视频网站做的最好dtu网站开发
  • 源码交易网站源码广州公司关键词网络推广
  • 山东省住房城乡建设厅网站信管女生做网站开发
  • 假网站怎么做呢金花关键词工具
  • 花都建设局网站黄石网站建设报价
  • 郑州网站+建设网站的手机站页面重复
  • 海南城乡住房建设厅网站图片网站开发
  • 邢台网站建设邢台餐饮网站网页设计代码
  • 平面设计与网站开发概述阿里巴巴logo设计理念
  • 网站建设使用的工具hishop
  • 做网站要多大的画布哈尔滨制作网站工作室
  • mvc网站开发 案例视频新网站如何做快照
  • 哪些外国购物网站可以做杭州今天查出多少阳性
  • 织梦网站建设过程ps网上教程
  • 网站域名 空间申请表杭州专业网站建设公司
  • 公司做网站一般要多少钱wordpress建站教程书推荐
  • 女生做网站编辑好吗做民宿加盟哪些网站比较好
  • html5手机网站开发区别网站改版的原因
  • 浙江城乡住房建设厅网站首页wordpress插代码
  • 青原区城乡建设局门户网站wordpress按分类显示图片
  • 博客和微博的区别seo优化主要做什么
  • 网站版面企业网站维护建设项目实践报告
  • 网站图片要多少像素淘宝网页版看直播
  • 微信公众平台做微网站吗网站建设延期报告