现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

将第某位设置为0或1

2013-02-03 22:43 工业·编程 ⁄ 共 419字 ⁄ 字号 暂无评论

// 如何将int 的第十位 设置为0 。
//将short 中的 第十一位设置为1;
//a = 1011 1111 1001 1101
int funInt()
{  
// 将a 的第三位设置为0
int a = 157; //1001 1101
    int b = 1;  //  0001
b = b<<(3-1); //  0100
    b = ~b ;  //  1011
    int c = a&b; //  1101
     //+
     //  1011
     //----------
     //  1001
// 同理将a 的第十位设置为 0
// 为 a = a&~(b<<(10-1);
return c;
}
void funShort()
{
// 将a 的第三位设置为1
short a = 157; //1001 1101
int b = 1;  //  0001
b = b<<(3-1); //  0100
    int c = a|b; //  0100
     //|
     //  1101
     //-----
     //  1101
//同理 a = a | (b<<(10-1);
}

给我留言

留言无头像?