问答1 问答5 问答50 问答500 问答1000
网友互助专业问答平台

巧用位运算

提问网友 发布时间:2024-09-12 08:01
声明:本网页内容为用户发布,旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:1656858193@qq.com
1个回答
热心网友 回答时间:2024-09-12 08:15
负数在位运算中的表现是:左移时,低位补0,右移时高位补1。若左移次数超过变量位数,结果均为0;右移次数超过,则全为1。对于正数,左移和右移都只补0,无论左移还是右移,超出部分保持原样。

在STM32F104RGT6这样的测试平台上,不同长度的数据进行位运算时,系统会先将它们右端对齐,负数左边补1,正数补0。位运算在嵌入式开发中特别实用,比如I/O操作中,单片机如STM32的端口有多个位,通过位带操作或位运算可以方便地改变特定位的电平状态。

以STM32的端口寄存器为例,假设地址为0x20000004,16位的寄存器中每个引脚代表一位。位带操作可以避免直接操作引脚,而是使用位运算符如&和|,如将某个位清零或置1。这里以&=为例,通过一个临时变量temp存储地址值,然后与0x01取反后再赋值回地址,实现清零特定位的目的。

然而,这种操作存在潜在风险,因为它可能涉及多条汇编指令,包括读取、修改和存储,如果在操作过程中外部状态改变,可能导致错误。因此,使用时需确保操作的连续性,避免中断影响。

异或(||)操作则可以用于实现LED闪烁等需要数据翻转的应用,通过异或操作使数据在0和1之间交替,配合其他操作可以实现简单的状态控制。

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

改善皮肤干皮的好办法有哪些?这些方法可以使皮肤更水润 2024年“PCB+AI”第一龙头,机构+券商助力,或将超越“逸豪新材”_百度知... 5G电路板PCB,最全概念个股一览!(名单) 梦见放鞭爆是什么意思? PCB概念十大龙头股票 中国股市:未来有望翻10倍的8大“PCB”概念股一览!(名单) 馒头回锅肉做法 狐易康产品特点 肉毒素注射去除腋臭的原理和特点 父亲是房子房主想赠予儿子需要什么手续? 房屋赠予需要什么直属关系 智力残疾四级的可以办残疾证吗 医生智力残到期换证去五台山测试珍断书摇头雅吧怎么办残疾证? 申请智力残疾证需要检查什么 智力司法鉴定为什么一定要带残疾证 ...一根火线啊?零线和火线的起点是哪儿,终点是哪儿? 零线是否要接地... 怎么在手机桌面把软件合并归类整理和卸载 如何将华为手机桌面上的软件归类整理? basal diameter中文翻译 印模面的英文,义齿基面,印模面的翻译,怎么用英语 妇炎洁洗完用水冲吗 潍坊南下河批发市场至高密多少公里 韩亭区到南下河开车怎么走 超皮秒祛斑是永久的吗 超皮秒祛斑一般几次可以干净 馥蕾诗睡莲滋润活妍面霜的抗老效果怎么样? 华为手机怎么把相册视频作为手机壁纸? 怎么把视频设置成手机锁屏壁纸 手机上的影视大全app能投屏到电视吗 能给个干鹿鞭泡酒的药材配方啊!谢谢了 碳酸锂从50万到10几万 千层糕的做法教程 直播365网站简介 电脑挂机的声音?? 微信语音通话中怎么挂断 全自动磕鸡蛋机研发公司哪家收费比较便宜? 文山市城南工行叫什么 《荣耀战魂》108紫装速升方法一览介绍_《荣耀战魂》108紫装速升方法一... 70升油加在油箱里达到65%油箱有多大 ...想用AB胶封住锁眼,以后这个胶好可以用刀片去掉吗?
Top