TDA2030功放电路图 电动车充电器电路图 电子电路 功放电路 电子制作 集成块资料 电子报 pcb 变压器 元器件知识 逆变器电路图 电路图 开关电源电路图 传感器技术 led 电磁兼容
电子电路图
当前位置: 首页 > 电子电路 > 设计编程

介绍单片机C51位运算应用技巧

时间:2018-11-23 08:44:09来源:网络 作者:admin 点击:
介绍单片机C51位运算应用技巧

位运算应用口诀:  清零取位要用与,某位置一可用或,若要取反和交换,轻轻松松用异或!  移位运算要点  1 它们都是双目运算符,两个

介绍单片机C51位运算应用技巧



位运算应用口诀:

  清零取位要用与,某位置一可用或,若要取反和交换,轻轻松松用异或!

  移位运算要点

  1 它们都是双目运算符,两个运算分量都是整形,结果也是整形。

  2 "<<" 左移:右边空出的位上补0,左边的位将从字头挤掉,其值相当于乘2。

  3 ">>"右移:右边的位被挤掉。对于左边移出的空位,如果是正数则空位补0,若为负数,可能补0或补1,这取决于所用的计算机系统。

  4 ">>>"运算符,右边的位被挤掉,对于左边移出的空位一概补上0。

  位运算符的应用 (源操作数s 掩码mask)

  (1) 按位与-- &

  1 清零特定位 (mask中特定位置0,其它位为1,s=s&mask)2 取某数中指定位 (mask中特定位置1,其它位为0,s=s&mask)(2) 按位或-- |

  常用来将源操作数某些位置1,其它位不变。 (mask中特定位置1,其它位为0 s=s|mask)(3) 位异或-- ^

  1 使特定位的值取反 (mask中特定位置1,其它位为0 s=s^mask)2 不引入第三变量,交换两个变量的值 (设 a=a1,b=b1)目标 操作 操作后状态

  a=a1^b1 a=a^b a=a1^b1,b=b

  b=a1^b1^b1 b=a^b a=a1^b1,b=a

  a=b1^a1^a1 a=a^b a=b1,b=a

  二进制补码运算公式:

  -x = ~x + 1 = ~(x-1)

  ~x = -x-

  -(~x) = x+

  ~(-x) = x-

  x+y = x - ~y - 1 = (x|y)+(x&y)

  x-y = x + ~y + 1 = (x|~y)-(~x&y)

  x^y = (x|y)-(x&y)

  x|y = (x&~y)+y

  x&y = (~x|y)-~x

  x==y: ~(x-y|y-x)

  x!=y: x-y|y-x

  x< y: (x-y)^((x^y)&((x-y)^x))

  x<=y: (x|~y)&((x^y)|~(y-x))

  x< y: (~x&y)|((~x|y)&(x-y))//无符号x,y比较x<=y: (~x|y)&((x^y)|~(y-x))//无符号x,y比较应用举例

  (1) 判断int型变量a是奇数还是偶数

  a&1 = 0 偶数

  a&1 = 1 奇数

  (2) 取int型变量a的第k位 (k=0,1,2……sizeof(int)),即a>>k&(3) 将int型变量a的第k位清0,即a=a&~(1<

本文由容源电子网(www.dziuu.com)整理提供,部分内容来源于网络,如有侵犯到你的权利请与我们联系更正。

本文地址:http://www.dziuu.com/dz/22/15429340782606.shtml


本文标签:


.
12下一页尾页
顶一下
0%
返回首页
0
0%

------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
表情:
名称: E-mail: 验证码: 匿名发表
发布文章,推广自己产品。
推荐内容
  • 特斯拉线圈原理揭秘解读

    特斯拉线圈原理揭秘解读特斯拉线圈是一种射频 振荡器,可驱动空芯双调谐振变压器,在低电流时产生高压。特斯拉的原始电路以及大多数现代线圈使用简单的火花隙来激发调谐变

  • 51单片机对LCD1602液晶显示器的控

    51单片机对LCD1602液晶显示器的控制 要想实现人机交互,显示装置是不可缺少的。这篇文章主要关于如何控制液晶显示,并在此基础上加上定时器的功能,把原来已用数码管显示

  • 介绍编码器的工作原理和作用

    编码器的工作原理和功能:它是一个旋转传感器,将旋转位移转换为一系列数字脉冲信号。这些脉冲可用于控制角位移。如果编码器与齿轮杆或螺钉组合,可用于测量线性位移。

热门标签