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

东莞高端网站设计推广下载app赚钱

东莞高端网站设计,推广下载app赚钱,沈阳网站建设的公司哪家好,商城型网站的概念作为一个开发人员,在看别人项目或者看第三方库的源代码时,可能经常会看到譬如a>>4&0x0f这样的写法,对于一些初入行的童鞋来说可能就不是太明白这是什么意思。下面我们就来讲解这几个运算符的实际用途。 一、运算符的含义 运算符含…

作为一个开发人员,在看别人项目或者看第三方库的源代码时,可能经常会看到譬如a>>4&0x0f这样的写法,对于一些初入行的童鞋来说可能就不是太明白这是什么意思。下面我们就来讲解这几个运算符的实际用途。

 

一、运算符的含义

运算符含义描述
<<左移用来将一个数的各二进制位全部左移N位,高位舍弃,低位补0。
>>右移将一个数的各二进制位右移N位,移到右端的低位被舍弃,对于无符号数,高位补0。
&按位与如果两个相应的二进制位都为1,则该位的结果值为1,否则为0。
|按位或两个相应的二进制位中只要有一个为1,该位的结果值为1,否则为0。

二、用途

按位与的用途

1.清零

若想对一个存储单元清零,即使其全部二进制位为0,只要对这个存储单元当前的值取反(也就是原来的数中为1变为0,0变为1),然后使二者进行&运算,即可达到清零目的。
比如a=23,b=~a:

a:00010111
b:11101000
a&b:00000000

2.取一个数中某些指定位

比如a=23,我想取a的二进制的后面4位数,那么可以找一个后4位是1其余位是0的数b,即b=0x0f(十六进制,转换为二进制为00001111),a&b就得到了a的后四位。

a:00010111
b:00001111
a&b:00000111

3.保留指定位

比如a=23(用8bit表示),我想保留其二进制的第4和第6位(最左边为第1位),其余位置0。那么可以找一个第4和第6位是1其余位是0的数b与a进行按位与运算

a:00010111
b:00010100
a&b:00010100

按位或的用途

常用来对一个数的某些位置1,其余位不变。比如a=23,我想将其第2和第3位置为1,可以找一个第2、3位是1其余位是0的数与a进行按位或运算。

a:00010111
b:01100000
a|b:01110111

三、项目实例

在实际项目中,很多时候&和|都是和>>、<<配合使用的。比如在蓝牙项目开发中,2个设备之间进行日期数据传输时,我们先定一个协议,用4个byte来表示一个日期,其中byte0表示年份的高位数,byte1表示年份的低位数,byte2表示月份,byte3表示日期。
设备端现在收到另外一台设备传过来的日期数据00010100 00010011 00000110 00011101(为了阅读方便我将每个byte之间用空格分开)。那么我要如何解析这个数据来得到实际日期呢?

/* 
*第一步,获取日期。
*日期是最后一个byte,也就是最后8位,用一个后8位是1其余位是0的数(11111111,十六进制表示是0xff)与数据进行按位与计算即可
*/
date = 00010100 00010011 00000110 00011101;
day = date & 0xff;(计算结果是00011101,十进制表示是29,也就是日期是29)。/* 
*第二步,获取月份。
*月份是倒数第2个byte,此时需要先将最后一个byte砍掉(也就是右移8位),然后再和0xff进行按位与运算
*下面代码可以简写成date=date>>8&0xff;
*/
date = date>>8; (计算结果是00010100 00010011 00000110)
month = date & 0xff;(计算结果是00000110,十进制表示是6,也就是月份是6月)。/* 
*第三步,获取年份低位。
*先将最后一个byte砍掉(也就是右移8位),然后再和0xff进行按位与运算
*下面代码可以简写成date=date>>8&0xff;
*/
date = date>>8; (计算结果是00010100 00010011)
year_low = date & 0xff;(计算结果是00010011,十进制表示是19)。/* 
*第四步,获取年份高位。
*先将最后一个byte砍掉(也就是右移8位),然后再和0xff进行按位与运算
*下面代码可以简写成date=date>>8&0xff;
*/
date = date>>8; (计算结果是00010100)
year_heigh = date & 0xff;(计算结果是00010011,十进制表示是20)。

最后将4个数拼起来就得到日期为2019年6月29日。

 

 

 

http://www.lbrq.cn/news/2373085.html

相关文章:

  • php网站好吗东莞整站优化推广公司找火速
  • 潍坊设计网站济南网站seo优化
  • 网站镜像 动态百度热度榜搜索趋势
  • 公务员可以自己做网站吗品牌运营策略
  • 盐城网站制作哪家好游戏代理是怎么赚钱的如何代理游戏
  • 网站开发指南产品线上营销推广方案
  • 免费做app的网站有吗手机端关键词排名免费软件
  • 专业外贸网站建设外贸网站推广软件
  • 网站死链怎么删除百度人工客服电话是多少
  • 长春亚泰吧seo是什么seo怎么做
  • 做黄色网站的成本推广网站源码
  • 如何制作学校网站百度一下官方网站
  • 余姚做百度网站广州百度网站快速排名
  • 做的网站显示图片很慢深圳最好的外贸seo培训
  • 上海静安网站制作360推广和百度推广哪个好
  • wordpress 域名授权百度网站快速优化
  • 购物商城网站功能设计百度竞价排名医院事件
  • vue cdn做的网站百度导航和百度地图
  • 化工产品网站建设河南制作网站
  • 邯郸景区网站制作企业网站排名优化
  • 网站建设设计设计公司哪家好搜索引擎国外
  • cms影视建站系统关键词你们都搜什么
  • .net做网站用什么框架关键seo排名点击软件
  • 搬家公司网站模板国际网站平台有哪些
  • 做木工的网站seo网站优化做什么
  • php网站制作过程中遇到的问题及解决办法seo网站分析
  • wordpress七号技师代做seo关键词排名
  • iis 添加网站seo外包优化公司
  • 电子商务网站问题与解决方案百度推广如何代理加盟
  • 外贸网站建设公司上海网站推广优化
  • c++ 模板元编程
  • 医院各类不良事件上报,PHP+vscode+vue2+element+laravel8+mysql5.7不良事件管理系统源代码,成品源码,不良事件管理系统
  • Matlab2025a软件安装|详细安装步骤➕安装文件|附下载文件
  • 高性能上位机界面设计范式:C#与C++/C开发调试无缝衔接
  • UniApp 多端人脸认证图片上传实现
  • : $ operator is invalid for atomic vectors