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

本地建站discuz杭州市临安区建设局网站

本地建站discuz,杭州市临安区建设局网站,免费空间说说赞,黄页网站推广效果怎么样位运算小结 ​ 位运算不管是在C语言中&#xff0c;或者其他语言&#xff0c;都是经常会用到的&#xff0c;所以本文也就不固定以某种语言来举例子了&#xff0c;原始点就从0、1开始。位运算主要包括按位与(&)、按位或(|)、按位异或(^)、取反(~)、左移(<<)、右移(>…

位运算小结

​ 位运算不管是在C语言中,或者其他语言,都是经常会用到的,所以本文也就不固定以某种语言来举例子了,原始点就从01开始。位运算主要包括按位与(&)、按位或(|)、按位异或(^)、取反(~)、左移(<<)、右移(>>)这几种,其中除了取反(~)以外,其他的都是二目运算符,即要求运算符左右两侧均有一个运算量。

补码

在总结按位运算前,有必要先介绍下补码的知识,我们知道当将一个十进制正整数转换为二进制数的时候,只需要通过除2取余的方法即可,但是怎么将一个十进制的负整数转换为二进制数呢其实,负数是以补码的形式表示,其转换方式,简单的一句话就是:先按正数转换,然后取反加1

要将十进制的-10用二进制表示,先将10用二进制表示:
0000 0000 0000 1010
取反:
1111 1111 1111 010111111 1111 1111 0110
所以,-10的二进制表示就是:
1111 1111 1111 0110

按位与(&)

​ 参加运算的两个数,换算为二进制(01)后,进行与运算。只有当相应位上的数都是1时,该位才取1,否则该为为0

10-10进行按位与(&)运算:
0000 0000 0000 1010
1111 1111 1111 0110
-----------------------
0000 0000 0000 0010
所以:
10 & -10 = 0000 0000 0000 0010`

按位或(|)

​ 参加运算的两个数,换算为二进制(01)后,进行或运算。只要相应位上存在1,那么该位就取1,均不为1,即为0

10-10进行按位或(|)运算:
0000 0000 0000 1010
1111 1111 1111 0110
-----------------------
1111 1111 1111 1110
所以:
10 | -10 = 1111 1111 1111 1110`

按位异或(^)

​ 参加运算的两个数,换算为二进制(01)后,进行异或运算。只有当相应位上的数字不相同时,该为才取1,若相同,即为0

10-10进行按位异或(^)运算:
0000 0000 0000 1010
1111 1111 1111 0110
-----------------------
1111 1111 1111 1100
所以:
10 ^ -10 = 1111 1111 1111 1100`

​ 可以看出,任何数与0异或,结果都是其本身。利用异或还可以实现一个很好的交换算法,用于交换两个数,算法如下:

a = a ^ b;
b = b ^ a;
a = a ^ b;

取反(~)

​ 参加运算的两个数,换算为二进制(01)后,进行取反运算。每个位上都取相反值,1变成00变成1

10进行取反(~)运算:
0000 0000 0000 1010
---------------------
1111 1111 1111 0101
所以:
~10 = 1111 1111 1111 0101`

左移(<<)

​ 参加运算的两个数,换算为二进制(01)后,进行左移运算,用来将一个数各二进制位全部向左移动若干位。

10左移2(就相当于在右边加20)0000 0000 0000 1010
--------------------
0000 0000 0010 1000
所以:
10 << 2 = 0000 0000 0010 1000 = 40

注意,观察可以发现,左移一位的结果就是原值乘2,左移两位的结果就是原值乘4

右移(>>)

​ 参加运算的两个数,换算为二进制(01)后,进行右移运算,用来将一个数各二进制位全部向右移动若干位。

10右移2(就相当于在左边加20)0000 0000 0000 1010
--------------------
0000 0000 0000 0010
所以:
10 >> 2 = 0000 0000 0000 0010 = 2

​ 注意,观察可以发现,右移一位的结果就是原值除2,左移两位的结果就是原值除4,注意哦,除了以后没有小数位的,都是取整

http://www.yayakq.cn/news/195313/

相关文章:

  • 网站建设问题及对策上海人才网官方网站
  • 谁家的网站做的比较好百度站长工具怎么查排名
  • 成都网站建设单招网信誉好的武进网站建设
  • 自己怎样免费建设网站伙购网官方网站
  • 携车网网站开发怎么样如何把旅行社网站做的好看
  • 岳阳做网站多少钱wordpress主页
  • 电信备案新增网站卖货到海外的免费平台
  • 中企动力 35 做网站wordpress资料图片不显示
  • 做网站效果怎么样dw php网站开发书籍云盘
  • 网站开发中怎么样对接接口盐城网站建设服务
  • 做图片视频的网站有哪些自己动手做网站教程
  • 建个网站多少钱app东莞多地调整为中高风险地区
  • 唐山网站建设外包公司哪家好音乐网站设计源码
  • 广州门户网站建设公司如何设计一个网页页面
  • 网站怎么做是满屏中文域名购买平台
  • 网站的标志可以修改吗手机网站开发企业
  • 在线生成个人网站app关于企业网站建设的市场比质比价调查报告
  • 建筑公司网站模板免费下载旅游网站建设方案书
  • 哈尔滨网站备案手续seo报告
  • 河北网站开发联系电话有专门做预算的网站没
  • 周口规划建设局网站wordpress主题无法创建
  • wordpress头像显示空白seo网站推广是什么
  • 小辣椒昆明网站开发水泵网站站群建设
  • 国外简约网站培训机构 网站建设
  • 专门做定制的网站外协加工订单网
  • 建设跳转公积金网站app开发工具简单
  • 怎么制作免费网站教程视频服装网站设计欣赏
  • 凡科建站相关链接翠屏区网站建设
  • 网站主机安全西充建设部门投诉网站
  • 外贸英语网站如何在百度中搜索到网站