前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >获取设置一个字节某一个位的数值

获取设置一个字节某一个位的数值

作者头像
用户3135539
发布2018-09-12 11:01:50
6280
发布2018-09-12 11:01:50
举报
文章被收录于专栏:
void print2(unsigned char a)
{
    int r[8];
    r[0] = ( a & (0x01 << 0)) >> 0; // 最低位
    r[1] = ( a & (0x01 << 1)) >> 1;
    r[2] = ( a & (0x01 << 2)) >> 2;
    r[3] = ( a & (0x01 << 3)) >> 3;
    
    r[4] = ( a & (0x01 << 4)) >> 4;
    r[5] = ( a & (0x01 << 5)) >> 5;
    r[6] = ( a & (0x01 << 6)) >> 6;
    r[7] = ( a & (0x01 << 7)) >> 7;  // 最高位
    
    printf("%d %d %d %d   %d %d %d %d\n",r[7],r[6],r[5],r[4],r[3],r[2],r[1],r[0]);
}

int main(void)
{
    unsigned char a = 0xBF;
    print2(a);
    
    unsigned char b = a | (0x01 << 6); //set on
    print2(b);
    
   b = a | (0x01 << 2); //set off 1
   unsigned char c = b ^ (0x01 << 2); //set off 2 ( 先set on 在 ^ )
    print2(c);
}
 
output:
 
1 0 1 1   1 0 1 1   //0xBF
1 1 1 1   1 1 1 1
1 1 1 1   1 0 1 1

@import url(http://www.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2012-08-05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档