当前位置: 首页 > news >正文

设计公司网站建设方案/百度查重免费入口

设计公司网站建设方案,百度查重免费入口,活动营销,淘客推广网站怎么做Linux系统宏定义&#xff1a; #define BIT_MASK(nr) ( 1UL << ( (nr) % BITS_PER_LONG) ) 应用一&#xff1a;将寄存器中的某一位置1或则清0&#xff0c;保持其他位不变。 int l_data; void SetBit(int pos)//将某一位置位的操作 {if((pos > 0) && (po…


Linux系统宏定义: #define  BIT_MASK(nr)      ( 1UL <<  ( (nr) % BITS_PER_LONG) )


应用一:将寄存器中的某一位置1或则清0,保持其他位不变。

int l_data;
void SetBit(int pos)//将某一位置位的操作
{if((pos >= 0) && (pos <= 31)){l_data |= BIT_MASK(pos);//BIT_MASK是 掩码。就是除了这一位其余位均为0}
}
void ClrBit(int pos)//将某一位清0的操作
{if((pos >= 0) && (pos <= 31)){l_data &= ~BIT_MASK(pos);}
}


说明:

该操作的依据如下:

1.0|1 == 1,1|1 == 1,故无论0还是1同1执行|操作,结果为1;无论0还是1同0执行|操作,都将保持不变。

2.1&0 == 0,0&0 == 0,故无论0还是1同0执行&操作,结果为0;无论0还是1同1执行&操作,都将保持不变。

应用二、判断寄存器某一位为0还是1

bool is1(int pos)//判断某一位是否为1
{if((pos >= 0) && (pos <= 31)){if(l_data & (BIT_MASK(pos)) == 0x1){return true;}else{return false;}}
}


应用三、将寄存器的某一位取反(1->0;0->1)

void ReverseBit(int pos)//将某一位取反
{if((pos >= 0) && (pos <= 31)){l_data ^= BIT_MASK(pos);}
}


说明:与0异或,保持不变;与1异或,取反。

应用四、保留2个数的不同部分,将它们合并为1个数


方法一:这两个数除了有效位之外,其他位均为0,可以将其先适当移位操作,然后在"|"运算。


例一:将temp中的低8位和t中的高4位组合成一个12位数

unsigned short temp = 0x00AB;
unsigned char t = 0xC0;
temp = temp<<4;
temp |= (t>>4);



例二:保留channel的底4位,将其作为result的高4位,result的低4位设置为0xC;

channel = (channel<<4) | 0x0C;




方法二:如果这2个数除了有效位之外,其他位需要保留为1,方法是先与适当的数"|",之后2个数"&"


例一:保留temp的高4位和line的底4位,并将其组合成result。由于line的其他位全位1,所以必须先将temp的其他位全部设置为1,之后2个数"&"即可。

unsigned char result;
unsigned char temp = 0xAB;
unsigned char line = 0xFE;
temp |= 0x0F;
result = temp&line;




应用五、将一个16位数的高低8位分别拆成2个8位数,方法是通过多字节数赋给少字节数,多字节数高位字节部分将被自动截取的原理。

unsigned short temp = 0xCDAB;
unsigned char fir;
unsigned char sec;
fir = temp>>8;
sec = temp;




应用六、如果CPU没有来算数移位操作,如何用逻辑移位操作实现。

例如:line = 0xFE,如何实现其的左移操作后,右边补入的是1而不是默认的0。

line = (line<<1)|0x01;









http://blog.sina.com.cn/s/blog_8795b0970101j5ij.html



http://www.lbrq.cn/news/1379053.html

相关文章:

  • 网站建设需求分析报告功能/推荐6个免费国外自媒体平台
  • 自己怎样做海外网站/站长素材免费下载
  • 为网站做一则广告语/网站排名英文
  • 唯品会网站建设 分析报告/推广图片制作
  • 电脑什么软件可以做动漫视频网站/seo推广费用
  • 阿里巴巴国际站运营/搜索引擎营销的方法不包括
  • zblog php转wordpress/来客seo
  • 塘厦做网站/seo技术服务外包公司
  • 小网站做几个关键词/做整站优化
  • 个人做跨境电商网站/汕头seo网站建设
  • 钓鱼网站制作教程视频/新闻摘抄
  • 网站建设信息科技公司/企业网络推广平台
  • 定制网站开发商业计划书/网站免费发布与推广
  • aspx网站服务器失去响应/微信加精准客源软件
  • 郑州 (网站建设/高端网站建设公司排行
  • 做地理题的网站/今日国际军事新闻
  • 做设备出口网站/搜索引擎优化要考虑哪些方面
  • 宁波哪里有做网站的/西安抖音seo
  • 网站技术解决/图们网络推广
  • 成都网站制作028net/营销渠道策划方案
  • 工作室 网站建设/如何在百度上做广告宣传
  • 怎么做素材网站/百度网盘24小时人工电话
  • 深圳装饰网站建设/近期10大新闻事件
  • 湛江市网站建设/新品推广活动方案
  • 沈阳紧急通知/优化绿松石什么意思
  • 网站建设及维护机/足球队世界排名榜
  • 哈尔滨快速建站服务热线/2345浏览器下载安装
  • 企业网站建设合同书标准版/教育培训机构有哪些
  • 做网站的网络公司有哪些/建立网站需要多少钱
  • wordpress前端上传头像/seo门户网站
  • 高效截图的4款工具深度解析
  • linux中posix消息队列的使用记录
  • 查看主板信息的3种方法
  • 应用药品注册证识别技术,为医药行业的合规、高效与创新发展提供核心驱动力
  • 超越 ChatGPT:智能体崛起,开启全自主 AI 时代
  • Java与Kotlin中“==“、“====“区别