求C语言高手解答

2024-11-28 18:27:59
推荐回答(2个)
回答1:

EOF的十进制就是-1
^表示按位异或运算,异或的运算规则:相同为0不同为1,也就是1^1=0^0=0,1^0=0^1=1
根据上面的规律,有:某一位跟1异或为反,某一位跟0异或不变
所以00101101想要高四位取反,低四位不变,只要跟11110000异或即可

回答2:

EOF常量一般定义为-1
想通过一个a^b就达到高四位取反不可能做到
lz给出的00101101高四位就有1,不可能通过位或给或出个0来的