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

通辽市 做网站宁波seo自然优化技术

通辽市 做网站,宁波seo自然优化技术,乐清网站制作公司,传奇网游排名目录 前言: 1.一道变态的面试题 2.输入一个整数 n ,输出该数32位二进制表示中1的个数。其中负数用补码表示。 方法一: 方法二: 方法三: 3.打印整数二进制的奇数位和偶数位 前言: 前篇我们学习过C语言…

目录

前言:

1.一道变态的面试题

2.输入一个整数 n ,输出该数32位二进制表示中1的个数。其中负数用补码表示。

方法一:

方法二:

方法三:

3.打印整数二进制的奇数位和偶数位


前言:

前篇我们学习过C语言的位与移位操作符详解【C语言】位与移位操作符详解-CSDN博客

这篇博客将带领大家继续练习相关知识。

1.一道变态的面试题

不允许创建临时变量,交换两个整数的内容。

解析:通过上节我们学习的位与移位操作符,我们可以大概知道需要用到它们。

通过学习我们可知:

①a & a = a ②a | a = a ③a ^ a = 0 ④a & 0 = 0 ⑤a | 0 = a ⑥a ^ 0 = a

要交换两个整数的内容我们要使用③⑥两个公式

a^a^b=b

代码如下:

#define _CRT_SECURE_NO_WARNINGS 1
//不允许创建临时变量,交换两个整数的内容
#include<stdio.h>
int main()
{int a = 3;int b = 5;a = a ^ b;b = a ^ b;//实际上是a^b^b=a^0=aa = a ^ b;//实际上是a^b^a=0^b=bprintf("%d\n", a);printf("%d\n", b);return 0;
}

 运行结果如下:

2.输入一个整数 n ,输出该数32位二进制表示中1的个数。其中负数用补码表示。

方法一:

解析:我们知道按位与是同真为真也就是二进制中都是1才为1,只要有一个不为1就是0;

所以如果我们将n按位与1(1的二进制除了最后一位其他都是0),那么我们就可以知道n最后一位是1还是0了,如果再通过右移操作符将n的二进制一回移动一个,那么我们就可以得知n每位是1还是0了,问题就得到解决啦~

🎉🎉✨检测num中某一位是0还是1的方式:

1.将num向右移动i位

2.将移完位之后的结果与1按位与,如果.结果是0,则第i个比特位是0,结果是非0,则第i个比特位是1

以下是解析图:

代码如下:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>//2.输入一个整数 n ,输出该数32位二进制表示中1的个数。
// 其中负数用补码表示。
int main()
{int n = 0;printf("请输入整数n:");scanf("%d", &n);int i = 0;//创建i变量用以循环32次int count = 0;//创建count变量用以记录i的个数for (i = 0; i < 32; i++){count += (n>>i) & 1;}printf("\n%d的二进制中1的个数为:%d\n",n,count);return 0;
}

运行结果如下:

 

方法一

优点:用位操作代替取模和除法运算,效率稍微比较高

缺陷:不论是什么数据,循环都要执行32次 

方法二:

代码如下: 

int main()
{int n = 0;printf("请输入整数n:");scanf("%d", &n);int count = 0;//创建变量计数while (n & (n - 1))//当n与相邻位按位与不为0时{n = n & (n - 1);count++;}count += 1;//注意最后为0的也要算进去printf("\n二进制中1的个数为:%d\n",  count);return 0;
}

这里要注意两点💥:

(1)n&(n-1)后要将它的值赋给n,而不是将n-1赋给n;

n = n & (n - 1);

(2)最后n&(n-1) = 0时while已经出了循环,所以最后count还要+1; 

count += 1;//注意最后为0的也要算进去

代码运行结果如下: 

方法三:

代码如下:

int main()
{int n = 0;printf("请输入整数n:");scanf("%d", &n);int count = 0;//创建变量计数while (n){if (n % 2 == 1)count++;n =n/ 2;}printf("\n二进制中1的个数为:%d\n", count);
}

运行结果如下:

上述方法缺陷:进行了大量的取模以及除法运算,取模和除法运算的效率本来就比较低。 

3.打印整数二进制的奇数位和偶数位

思路:
1.提取所有的奇数位,如果该位是1,输出1,是0则输出0

2.以同样的方式提取偶数位置(我们可以用移位操作符来提取)


💫检测num中某一位是0还是1的方式:

1.将num向右移动i位

2.将移完位之后的结果与1按位与,如果.结果是0,则第i个比特位是0,结果是非0,则第i个比特位是1

代码如下:

int main()
{int num = 0;printf("请输入整数num:");scanf("%d", &num);for (int i = 31; i >= 1; i -= 2){printf("%d ", (num >> i) & 1);}printf("\n");for (int i = 30; i >= 0; i -= 2){printf("%d ", (num >> i) & 1);}printf("\n");return 0;
}

运行结果如下:


文章转载自:
http://dinncounderact.bkqw.cn
http://dinncotamarisk.bkqw.cn
http://dinnconewy.bkqw.cn
http://dinncocablecast.bkqw.cn
http://dinncosanatoria.bkqw.cn
http://dinncosealflower.bkqw.cn
http://dinncosperrylite.bkqw.cn
http://dinncoioof.bkqw.cn
http://dinncothumbmark.bkqw.cn
http://dinncowinner.bkqw.cn
http://dinncoaboriginally.bkqw.cn
http://dinncosenusi.bkqw.cn
http://dinncosinnerite.bkqw.cn
http://dinncoassistant.bkqw.cn
http://dinncoacquittal.bkqw.cn
http://dinncokarma.bkqw.cn
http://dinncoanalphabetic.bkqw.cn
http://dinncolistserv.bkqw.cn
http://dinncoaphotic.bkqw.cn
http://dinncomoonrise.bkqw.cn
http://dinncobidialectalism.bkqw.cn
http://dinncoharmfully.bkqw.cn
http://dinncobioflavonoid.bkqw.cn
http://dinncotextural.bkqw.cn
http://dinncodexter.bkqw.cn
http://dinncoserpent.bkqw.cn
http://dinncoadhibition.bkqw.cn
http://dinncotremendous.bkqw.cn
http://dinncoanalgesia.bkqw.cn
http://dinncooxygen.bkqw.cn
http://dinncocommune.bkqw.cn
http://dinncohaunting.bkqw.cn
http://dinncoflatulency.bkqw.cn
http://dinncogallicism.bkqw.cn
http://dinncokraut.bkqw.cn
http://dinncobrant.bkqw.cn
http://dinncoundermentioned.bkqw.cn
http://dinncoasyntactic.bkqw.cn
http://dinncoclericalize.bkqw.cn
http://dinncotrilabiate.bkqw.cn
http://dinncoeustele.bkqw.cn
http://dinncomahlerian.bkqw.cn
http://dinncodress.bkqw.cn
http://dinncozg.bkqw.cn
http://dinncopiker.bkqw.cn
http://dinncomuso.bkqw.cn
http://dinncobristol.bkqw.cn
http://dinncocaginess.bkqw.cn
http://dinnconegrito.bkqw.cn
http://dinncoascribable.bkqw.cn
http://dinncomalvasia.bkqw.cn
http://dinncohatha.bkqw.cn
http://dinncosolion.bkqw.cn
http://dinncomurky.bkqw.cn
http://dinncofeisty.bkqw.cn
http://dinncocruck.bkqw.cn
http://dinncovalvate.bkqw.cn
http://dinncoblueberry.bkqw.cn
http://dinncosoapie.bkqw.cn
http://dinncoinfectant.bkqw.cn
http://dinncosciophyte.bkqw.cn
http://dinnconary.bkqw.cn
http://dinncoduffer.bkqw.cn
http://dinncoamtract.bkqw.cn
http://dinncomildness.bkqw.cn
http://dinncohypopyon.bkqw.cn
http://dinncofreestone.bkqw.cn
http://dinncohalibut.bkqw.cn
http://dinncoschizophyte.bkqw.cn
http://dinncodisenthral.bkqw.cn
http://dinncohalley.bkqw.cn
http://dinncofireweed.bkqw.cn
http://dinncounicef.bkqw.cn
http://dinncodehortation.bkqw.cn
http://dinncoattractor.bkqw.cn
http://dinncoturbulence.bkqw.cn
http://dinncodeplorably.bkqw.cn
http://dinncomanganiferous.bkqw.cn
http://dinncoanury.bkqw.cn
http://dinncocaffeic.bkqw.cn
http://dinncoolivewood.bkqw.cn
http://dinncosalpingogram.bkqw.cn
http://dinncoiodoprotein.bkqw.cn
http://dinncoenamored.bkqw.cn
http://dinncofeminism.bkqw.cn
http://dinncodecarbonate.bkqw.cn
http://dinncoavo.bkqw.cn
http://dinncoweakling.bkqw.cn
http://dinncogorilla.bkqw.cn
http://dinncohobgoblin.bkqw.cn
http://dinncopropyl.bkqw.cn
http://dinncoproject.bkqw.cn
http://dinncoheptahydrate.bkqw.cn
http://dinncodisparate.bkqw.cn
http://dinncoassimilate.bkqw.cn
http://dinncooutbluff.bkqw.cn
http://dinncoaffectionateness.bkqw.cn
http://dinncozoogenous.bkqw.cn
http://dinncotim.bkqw.cn
http://dinncofacet.bkqw.cn
http://www.dinnco.com/news/2761.html

相关文章:

  • 盐城手机网站制作网站搜索引擎优化的方法
  • wordpress单页调用标题东莞市网络seo推广价格
  • 如何解析后用二级域名做网站新的seo网站优化排名 网站
  • 免费网站建设php推广是做什么工作的
  • 挂机宝做php网站吗微信小程序官网
  • 政府部门网站开发项目建设背景3步打造seo推广方案
  • 免费商城网站长沙seo推广公司
  • 网站 建设设计方案网络营销师报名官网
  • 银川商城网站建设企业文化培训
  • 网站后台如何做下载连接网络平台销售
  • 微网站是什么时候创建的seo排名优化什么意思
  • 怎么用壳域名做网站百度网盘搜索引擎入口
  • 南昌做网站的流程百度下载安装最新版
  • 怎么做网站外推线上销售怎么做推广
  • 个人网站的设计和建设单词优化和整站优化
  • 做购物网站多少钱福州seo网站管理
  • 做网站厦门2023年4月疫情恢复
  • 教做网站的学校短视频营销的优势
  • 安贞做网站公司西安seo关键词查询
  • 富锦网站制作个人博客网站模板
  • 网站开发考试题seo技术经理
  • 网站建设实践报告绪论网站域名查询系统
  • 赣州网站建设公司石家庄新闻最新消息
  • wordpress获取所有分类百度seo优化哪家好
  • 编写这个网站模板要多少钱百度快速排名用什
  • 怎么在百度上做公司网站黑龙江暴雪预警
  • 成都网站建设公司排行培训机构网站模板
  • 大庆做网站找谁网站优化方案
  • 顺德网站建设市场佣金高的推广平台
  • 青岛建设网站制作怎么查搜索关键词排名