C语言运算符"^"是啥意思啊,高手快来!!!!

请说明一下运算符的用法和特殊的方面

^ 运算符是 按位异或

1、异或是一个数学运算符。他应用于逻辑运算。
2、例如:真异或假的结果是真,假异或真的结果也是真,真异或真的结果是假,假异或假的结果是假。就是说两个值不相同,则异或结果为真。反之,为假。
3、在计算机应用中,普遍运用,异或的逻辑符号 ^ (Shift + 6).形象表示为:
真^假=真
假^真=真
假^假=假
真^真=假
或者为:
True ^ False = True
False ^ True = True
False ^ False = False
True ^ True = False
部分计算机语言用1表示真,用0表示假,所以两个字节按位异或如下
00000000
异或
00000000
=
00000000
============我是分界线============
11111111
异或
00000000
=
11111111
=============我还是分界线=============
00000000
异或
11111111
=
11111111
===========又是我。。。================
11111111
异或
11111111
=
00000000
=============分界线=====================
00001111
异或
11111111
=
11110000
========================================

所以 按位异或 也常用于字节取反操作。

参考资料:http://baike.baidu.com/view/674171.html?wtp=tt

温馨提示:内容为网友见解,仅供参考
第1个回答  2008-03-11
指数运算符,比如5的2次方,就写成5^2
第2个回答  2008-03-11
^:按位异或

0xf0:1111 0000
0x0f:0000 1111
^
---------------
0xff:1111 1111

将两个操作数转为二进制(计算机中保存数据为二进制格式),比较每一位的值,如果相同,即结果对应位为0,如果不同,则对应位为1.

0x08:0000 1000
0x80:1000 0000
^
---------------
0x88:1000 1000
==================
0x88:1000 1000
0x80:1000 0000
^
---------------
0x08:0000 1000
第3个回答  2008-03-11
& 按位与
^ 按位异或
| 按位或
&& 逻辑与
|| 逻辑或
相似回答