zoukankan      html  css  js  c++  java
  • 驱动开发常用位运算

    //将x的第bit位置0
    #define SETLOW(x,bit) (x&(~(1<<bit)))
    //将x的第bit位置1
    #define SETHIGH(x,bit) (x|(1<<bit))
    //获取x的第bit为的值(0/1)
    #define	GET_BIT(x, bit)	((x & (1 << bit)) >> bit)	
    //获取16位数的高八位
    #define GET_H8(x) (x>>8)
    //获取16位数的低八位
    #define GET_L8(x) (x&0xFF)
    //拼接高八位和低八位
    #define CONTACT(h8,l8) ((h8 << 8)|(l8))
    //求绝对值
    #define ABS(x) ((1-((((x)>>(sizeof(x)*8-1))&1)<<1))*(x))
    

    说明:
    将x的某位设为0运算:

    x&=~(1<<bit);
    

    将x的某位设为1运算:

    x|=1<<bit;
    

    取16位数的高八位

    x>>8
    

    取16位数的低八位

    x&0xFF
    
  • 相关阅读:
    8.20Java之反射机制的基本概念
    8.18Go语言之字符串
    Debug
    Feign
    Nacos
    SpringCloud Alibaba
    SpringCloud
    Maven
    Maven
    Jenkins
  • 原文地址:https://www.cnblogs.com/hztd/p/14200920.html
Copyright © 2011-2022 走看看