c语言小疑点
求助:c语言小问题
变量 a 中的数据用二进制进表示的形式是 01011101,变量 b 中的数据用二进制表示
的形式是11110000,若要求将a的高4位取反,低4位不变,所要执行的运算是( )。
A)a*b B)ab
C)a&b D)a<<4
------解决方案--------------------
应该用异或运算吧,怎么4个答案里面都没有呢?
a^b
------解决方案--------------------
a^b (异或)
vc6.0 测试
#include<stdio.h>
int main()
{
unsigned char a = 0x5d; //(01011101)
unsigned char b = 0xf0; //(11110000)
printf("a^b = 0x%x\n", a^b); //输出为0xad 即(10101101)
return 0;
}
------解决方案--------------------
a^b
变量 a 中的数据用二进制进表示的形式是 01011101,变量 b 中的数据用二进制表示
的形式是11110000,若要求将a的高4位取反,低4位不变,所要执行的运算是( )。
A)a*b B)ab
C)a&b D)a<<4
------解决方案--------------------
应该用异或运算吧,怎么4个答案里面都没有呢?
a^b
------解决方案--------------------
a^b (异或)
vc6.0 测试
#include<stdio.h>
int main()
{
unsigned char a = 0x5d; //(01011101)
unsigned char b = 0xf0; //(11110000)
printf("a^b = 0x%x\n", a^b); //输出为0xad 即(10101101)
return 0;
}
------解决方案--------------------
a^b