STM32学习---位带操作总结

本文介绍了STM32中位带操作的重要性,并详细讲解了位操作的基础知识,包括符号位、补码、二进制数右移的规则。还探讨了位操作符的技巧,如判断奇偶、交换两数、变换符号和求绝对值的方法,这些都是理解和使用STM32不可或缺的知识。
摘要由CSDN通过智能技术生成

*简介:*在计算机中所有的数据都是以二进制的形式储存的。位运算其实就是直接对在内存中的二进制数进行操作,因此处理数据的速度非常快。
在实际编程中,如果能巧妙运用位操作,完全可以达到四两拨千金的效果,正是因为这些优点,所以位操作的应用非常广泛,同时掌握位带操作对于我们理解STM32的原理非常有用。

**

*过渡:***为了方便大家理解,有必要补充一些基础知识。

1.计算中的符号位: 计算机的符号位就是在处理二进制数据时,专门规定有一位,是用来确定数据的正负,符号位是1表示负数,是0表示正数。当然这里说的是有符号数,这个符号位通常是数据的最高位,如8位数据,左边第一位是符号位,后面7位用来表示数据大小。
2.补码: 注意,此处的“==”是相等的意思。
在机器的世界里:正数的最高位是符号位0,负数的最高位是符号位1。
对于正数:反码 ==补码 ==原码
对于负数:反码 ==除符号位以外的各位数取反
补码 ==反码+1
原码 ==(补码-1)后的反码 ==补码的反码+1
如:-15的二进制
<1>先取-15的原码:1000 1111
<2>得反码:1111 0000
<3>得补码:1111 0001
可见,-15在计算机里的二进制表达式就是1111 0001
16进制为:0xF1
3.二进制数右移
把一个二进制数右移N位,规则为:
除符号位外,全部右移N位,如果数字是一个无符号位数值,则用0填补最左边的N位;如果数字是一个有符号位数值,则用1填补最左边的N位
也就是说,如果数字原先是一个正数,则右移之后在最左边补N个0;如果数字原先是个负数,则右移之后在最左边补N个1
如:-15=1111 0001
右移二位,最高位由符号位填充将得到 1111 1100即-4

总结:

一、位操作基础知识,位操作符的应用规则表及使用要点
二、位操作符的技巧,包括判断奇偶、交换两数、变换符号、求绝对值
位操作符还有许多应用,但对于学习STM32,理解这些知识应该足够了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值