/*****************************
位逻辑运算:
(1)使用整型变量存放寄存器(32bit)的当前值(假设为0xFFFFFFFF)
(2)把这个寄存器第5位、第10位、第22位清零,其他位的值保持不变
(3)把这个寄存器第5位置位
(4)把这个寄存器第18位翻转
(5)显示最后的转换结果
********************************/
#include <iostream>
using namespace std;
int main()
{
int a = 0xFFFFFFFF;
a = a &~((1<<5)|(1<<10)|(1<<22));
a = a|(1<<5); //寄存器第5位置位
a = a^(1<<18); //寄存器第18位翻转
cout << hex << a << endl;
return 0;
位逻辑运算:
(1)使用整型变量存放寄存器(32bit)的当前值(假设为0xFFFFFFFF)
(2)把这个寄存器第5位、第10位、第22位清零,其他位的值保持不变
(3)把这个寄存器第5位置位
(4)把这个寄存器第18位翻转
(5)显示最后的转换结果
********************************/
#include <iostream>
using namespace std;
int main()
{
int a = 0xFFFFFFFF;
a = a &~((1<<5)|(1<<10)|(1<<22));
a = a|(1<<5); //寄存器第5位置位
a = a^(1<<18); //寄存器第18位翻转
cout << hex << a << endl;
return 0;
}
输出:
ffbbfbff