综合使用逻辑移位用来干嘛的和移位运算求取一个无符号数的第4位和第5位?

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

      

将WORD强制类型转换为BYTE,默认取BYTE低八位的数值作为BYTE的值

将占用长度大的类型强制转换为長度较小的类型默认取低位值作为长度较小的类型的值

发布了76 篇原创文章 · 获赞 74 · 访问量 7万+

<<表示左移是一个双目运算符:temp<<n。在以为的过程中会出现移位到一定时会一直处于一个值这是因为在每次的移位中高位都会被舍弃而地位补0.称之溢出。这里只关心1的溢絀而不关心0的溢出

>>表示右移,同样是一个双目运算符:temp<<n在做每次位移时都是低位被舍弃而高位补0.

左移一次相当于该数乘2,右移一次相當于该数除2以此类推。

TIPS:在实际的编程中最好是多使用括号,会使得程序易读

在按位与(&)运算中,当对其数据为1时该结果为1,否則为0按与运算的目的是为了对指定位清0.也可以是用于检查某一位的状态值,或者是保留某位的状态而其他位清0.

在按位或(|)运算中当對其位有一个数是1,则该位结果为1只有都是0的时候才会是0.或运算的作用主要是为了置位指定的某一位或者多位。

通常在控制LED的时候会使鼡到与运算和或运算

取反运算(-)是一个单目运算,就是从低位开始逐步进行取反运算当对应位上的数据相同时为1,否则为0.

我要回帖

更多关于 逻辑移位用来干嘛的 的文章

 

随机推荐