打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
操作 变量 的某一位
给定一个整形a, 给两段代码,给a的bit = 3时赋值,然后给a的bit=3位清零,
同时要保证其他位不变
#include <stdio.h>
#include <iostream>
using namespace std;
#define BIT3 (0x1 << 3)
static int a=5;
void set_bit3(void)
{
a |= BIT3;//位逻辑或
}
/************************************************************************/
/* 11
~10表示10对应的二进制按位取反,取反后刚好是-11的补码。
在计算机中,整数一般用16位或者32位二进制表示,假设用16位,10 在计算机中的表示就是:
0000 0000 0000 1010
按位取反就是
1111 1111 1111 0101                ---->这个就是-11的补码。
~是按位取反操作符,操作步骤:
一、10装换为而二进制  [00001010]
二、每一位取反,0变换为1,1变换为0得  [11110101]
*/
/************************************************************************/
void clear_bit3(void)
{
printf("%d\n",BIT3);
a= ~BIT3;
printf("%d\n",a);
a &= ~BIT3;//~ 取反,&位逻辑与
}
int main()
{
set_bit3();
printf("%d\n", a);
clear_bit3();
printf("%d\n", a);
return 0;
}
用<<、>>、|、&实现一个WORD(ABCD)的高低位交换(unsigned short a=0xABCD;变为CDAB)
#include <stdio.h>
int main(){
unsigned short a=0xABCD;
unsigned short b;
unsigned short c, d;
b=(a<<8)&0xff00;
c=(a>>8)&0x00ff;
d=b|c;
printf("%#X \n", b);
printf("%#X \n", c);
printf("%#X \n", d);
return 0;
}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
【02
C语言位操作
原码,反码,补码[转
嵌入式编程中的高低位交换如何实现?
整型变量的输出及溢出|C语言学习
C语言的变量和数据类型
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服