c语言运算。

求会c语言的大神帮帮忙

答案:0001 1111
解析如下:x^y表示异或运算,异或运算的法则是:
0^0=0;  0^1=1;  1^0=1;   1^1=0;
即两个二进制数如果相同则为0,不同则为1。
x='1',其二进制表示为:0011 0001,要求高3位不变,低5位取反,那就是变为0010 1110。
即这个问题等价于:0011 0001 ^ y = 0010 1110。
根据上面的异或运算规则,可以得出y=0001 1111。
验证一下:
 0011 0001
^0001 1111
=0010 1110。
综上分析,y的二进制表示为:0001 1111。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-01-04
(结构体、类、共同体等)取成员运算符,例如,
p->
相当于:
(*p).
p一定是一个指针类型。
举个例子说吧:
struct Student
{
char Name[20];
int Age;
};
你定义个数据:
struct Student *p;
那么,你就可以这个取它的成员了:
(*p).Name (*p).Age
这个等于如下的写法:
p->Name p->Age
应该清楚了吧?看答案怎么样?本回答被网友采纳
第2个回答  2019-01-04
异或就是相同为0,不同为1,而且高三位不变,低5位取反,那y就是00011111
第3个回答  2019-01-04
异或的运算规则是相同出0,相异出1,即0^0=0 0^1=1 1^0=1 1^1=0
001 10001高3位不变,低5位按位取反,要得的结果是:001 01110
而001 10001^000 11111=001 01110
即y值的二进制为00011111
第4个回答  2019-01-04
x^0x1F即可,即y=00011111(2)。
相似回答