1楼:匿名用户
先用错误的值减去以前固定的值(两个字节),得到的值相加除以2得到他们相加的值,在用错误的值减去这个值(两个字节都减),在分别对用他们对应的固定值异或,如果值一样,就是二次运算。例:
错:4e bf
固定:55 aa
[(4e-55)+(bf-aa)]/2=74e-7=47 bf-7=b847异或55 b8异或aa 都为12最后在加-7,异或12.
2楼:匿名用户
0xaa 先加 0x07 再 异或 0x12 后得到 0xa3 (你怎么好像算错了)
0b10101010 加上 0b00000111 得到 0b10110001,在异或 0b00010010 得到 0b10100011。
0xa3 先 异或 0x12 再减去 0x07得到 0xaa。
0b10100011 异或 0b00010010 得到 0b10110001 , 再减去 0b00000111 得到 0b10101010。
c语言里的按位异或运算符
3楼:靠名真tm难起
按位异或,其操作符为^,形式为
a^b计算时,根据操作数a和b每位的值,计算结果,当a,b的对应位上值相同时,结果的该位上值为0,否则值为1。
如char a = 0x12, b = 0x34;
a^b= 0x12 ^ 0x34
= b0001 0010 ^ b0011 0100= b0010 0110
=0x26
4楼:夜微空
(|1:“按位与”运算符(&)全1为1,有0则0。0&0=0,1&0=0,1&1=1
2:“按位或”运算符(|)有1则1,全0则0。0|0=0,1|0=1, 1|1=1
3:“异或”运算符(^)相同为0,不同为1。0^0=0,1^0=1,1^1=0
5楼:匿名用户
1:“按位与”运算符(&)用法是如果两个相应的二进制位都为1,则该位的结果值为1否则为0。0&0=0,1&0=0,1&1=1
2:“按位或”运算符(|)用法是如果两个相应的二进制位有一个为1,则该位的结果值为1否则为0。0&0=0,1&0=0,1&1=1
0,1&0=1,1&1=1
3:“异或”运算符(^)用法是如果两个相应的二进制位为同号,则该位的结果值为1否则为0。0&0=1,1&0=0,1&1=1
6楼:通信工程
以下的 答案中异或,解释错误,相同为0,不同为1
7楼:无壳螃蟹
c语言中^为按位异或运算符,若两个二进制位相同,则结果为0,不同为1#include "stdio.h"
main()
函数输出结果为12
将6和10分别转换为2进制数为0110(前边补了个0)和1010。然后按照定义进行异或运算
0110 a
1010 b
1100 a和b最左边第一位和第二位不相同,所以分别为1,第三位和第四位相同,所以分别为0
二进制数1100转换为10进制数,结果是12。
8楼:小猪叁儿
a b a xor b
true true false //最大特点在这里,1 xor 1 = 0
true false true
false true true
false false false
对于电路设计啊什么的非常实用,平常用的很少。
9楼:程序员的每一天
c语言经典例子之使用按位异或运算符
10楼:尺蠖丨蚩
相同取0,不同取1.二目运算
11楼:神一样的魁苝
|& 按位与
| 按位或
^ 按位异或
1. 按位与运算 按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。
只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。
例如:9&5可写算式如下: 00001001 (9的二进制补码)&00000101 (5的二进制补码) 00000001 (1的二进制补码)可见9&5=1。
按位与运算通常用来对某些位清0或保留某些位。例如把a 的高八位清 0 , 保留低八位, 可作 a&255 运算 ( 255 的二进制数为0000000011111111)。
main()
2. 按位或运算 按位或运算符“|”是双目运算符。其功能是参与运算的两数各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就为1。参与运算的两个数均以补码出现。
例如:9|5可写算式如下: 00001001|00000101
00001101 (十进制为13)可见9|5=13
main()
3. 按位异或运算 按位异或运算符“^”是双目运算符。其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。
参与运算数仍以补码出现,例如9^5可写成算式如下: 00001001^00000101 00001100 (十进制为12)
main()