C++中31原码位逻辑异或22原码怎么算

例子:转为二进制(0000 0000 0001 1111)^(0000 0000 0001 0110)
书上给的结果是9(0000 0000 0001 1111)不应该是(0000 0000 0000 1001)吗?

异或: 如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。
书上说的是对的追问

不太明白相同=0,不同=1的话,结果应该是1001吧,我算了一下9转二进制也是1001啊,书上给的11111是怎么算的,新人求解。

追答

你说的对 就是9 1001 可能书上的错了吧 反正异或完了就是1001 知道怎么算就好。。

温馨提示:内容为网友见解,仅供参考
无其他回答

C++中31原码位逻辑异或22原码怎么算
异或: 如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。书上说的是对的

C++中的位运算
或运算(|):两个数据按位进行逻辑或操作。只要两个位中有一个为1,结果就为1。例如,3或5进行或运算,结果为00000111,即7。负数以补码形式参与或运算。用途:用于设置数据的特定位为1。异或运算(^):两个数据按位进行异或操作。位相同结果为0,位不同结果为1。异或运算具有交换律、结合律等性...

逻辑异或运算怎么算
5、异或也叫半加运算,其运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同为0,异为1),这些法则与加法是相同的,只是不带进位,所以异或常被认作不进位加法。

c++语言中按位异或赋值是什么意思
逻辑运算异或的运算法则为a异或b=a'b或ab'(a'为非a)。真异或假的结果是真,假异或真的结果也是真,真异或真的结果是假,假异或假的结果是假。就是说两个值不相同,则异或结果为真。反之,为假。比如说一个char型字符'15',在内存中表现为00001111,按位异或就是将对应为进行逻辑异或运算,...

c++中逻辑异或是什么
C++中^运算表示的是二进制的异或运算 2^4=6 010^100=110 使用该运算可以实现无中间变量两数字的兑换 下面的例子实现a和b的置换 a=2;b=4;a=a^b;b=a^b;a=a^b;异或^是一个非常重要的运算符,大量问题可以利用异或的特点找到解决方案,尤其是在各大公司的面试题中。异或绝对是一个关键的...

c++异或运算
按位异或运算符(^)按位异或运算将两个运算分量的对应位按位遵照以下规则进行计算:0 ^ 0 = 0, 0 ^ 1 = 1, 1 ^ 0 = 1, 1 ^ 1 = 0 即相应位的值相同的,结果为 0,不相同的结果为 1。例如,013^035结果为026。异或运算的意思是求两个运算分量相应位值是否相异,相异的为1,相同...

C++ 按位与、或、异或等运算方法
方法:找到一个数,对应X要置1的位,该数的对应位为1,其余位为零。此数与X相或可使X中的某些位置1。例:将X=10100000的低4位置1 ,用 X | 0000 1111 = 1010 1111即可得到。参加运算的两个数据,按二进制位进行“异或”运算。运算规则:0^0=0; 0^1=1; 1^0=1; 1^1=0...

c++中的位运算计算问题
然后按位取反,得:1111111111111111111111111111110,最后再加个1,就是0xFFFFFFFF,a|b-c,这要考虑到运算符的优先级问题,乘除求余的优先级大于加法减法,加法减法大于与运算,与运算大于异或运算,异或运算大于或运算,现在再来看你的问题,a|b-c:先做减法b-c,得-1,然后再与1做或运算,得到-1...

c++ 一道关于逻辑与 或 异或的题目 求问?
计算-1的补码的方法:10...01(-1的原码)11...10(-1的反码)11...11(-1的补码,等于-1的反码加1)2、a^b&-c 1^2&-3,而1的补码是00...01,2的补码是00...010,-3的补码是11...101,1^2&-3=00...01^00...010&11...101=00...011&11...101=00...001(等于1...

c++中的异或是什么?
C++中的异或是按位异或运算符,表示为`^`。异或运算符`^`是一种二进制运算符,它对两个数的二进制表示进行操作。具体来说,对于每一位,如果两个相应的二进制位相同,则结果为0;如果不同,则结果为1。例如,对于二进制数`1010`和`0011`,应用异或运算后的结果是`1001`。在C++中,异或运算符...

相似回答
大家正在搜