问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java中的^表示啥

发布网友 发布时间:2022-04-21 04:45

我来回答

4个回答

热心网友 时间:2022-06-18 01:26

^是异或运算符(把数据转换成二进制,然后按位进行运算)。
运算规则:0^0 = 0, 1^0 = 1,  0^1 = 1,  1^1 = 0,运算对象相同为0,不同为1.
如:3^5 的运算过程为:
    (1)先将3和5转换成二进制的11和101
    (2)再按对应的位分别进行运算,11位数不足补零
           011
       ^   101
      -----------
           110
     (3)运算结果转换成10进制:6

异或运算的三个个特点:
    (1) 0^0=0,   0^1=1   0与任何数异或=任何数
    (2) 1^0=1,   1^1=0   1与任何数异或 =任何数取反
    (3) 任何数异或自己=把自己置0
    
异或运算的常见用途:
    (1) 使某些特定的位翻转
    例如对数10100001的第2位和第3位翻转,其他位不变,则可以将该数与00000110进行按位异或运算。
    10100001^00000110 = 10100111
    (2) 实现两个值的交换,而不必使用临时变量。
    例如交换两个整数a=10100001,b=00000110的值,可通过下列语句实现:
a = a^b;   //a=10100111
b = b^a;   //b=10100001
a = a^b;   //a=00000110
    (3) 在汇编语言中经常用于将变量置零:
            xor   a,a
    (4) 快速判断两个值是否相等
            判断两个整数a,b是否相等,则可通过下列语句实现:
            return ((a ^ b) == 0)

热心网友 时间:2022-06-18 01:26

你好!那是“异或运算符”,就是说相异为1,相同为0,比如:1 ^ 1 = 0;1 ^ 0 = 1;0 ^ 0 =0

热心网友 时间:2022-06-18 01:27

很好理解
比如:
1^0=0;
0^0=1;
也就是说对同一个字符进行两次异或运算就会回到原来的值。追问还是不懂....

热心网友 时间:2022-06-18 01:27

按位异或运算符
两个操作数中,如果两个相应位相同,则结果为0,否则为1
即:
0^0=0,
1^0=1,
0^1=1,
1^1=0
例如:
00101010^00010111=00111101
1)如果需使用一个整数的某些特定的位翻转,可使用另一个
相应位为1的操作数与原来的整数进行按位异或操作实现。
下面的例子对整数变量
ii的第四位翻转
int
revertFouth=ii^8;
其余位则没有变化
2)通过按位异或运算可以实现两个值的交换。而不使用临
时变量。例如交换两个整数a,b的值可通过下列语句实现:
int
a=15,b=24;
//a的最右边8位为00001111,b的最右边8位为00011000
//a和b其余位为0,下同
a=a^b;
//a的最右边8位为00010111,a=23
b=b^a;
//b的最右边8位为00001111,b=15
a=a^b;
//a的最右边8位为00011000,a=24
*位逻辑运算表达式返回两个操作数中数据长度较长的数据
类型
其中较小的左侧将被填满,若为整数,则填满0,
若为负数,则左侧填满1
首先复习一下异或运算(^)的性质:它满足交换律、结合律。
此处有一个经典的运用:现在有一万(1-10000)的个数
,从中拿掉
一个数,问怎么才能找出拿掉的数


最初的数组是
A,
拿掉
x
之后的数组是
B,
xor()
是对数组内所有元素做异或,则有:
xor(A)
==
xor(B)
^
x
Fake代码
xor(A)
==
xor(B)
^
x
Fake代码
xor(A)
==
xor(B)
^
x
xor(A)
==
xor(B)
^
x
所以:
xor(B)
^
xor(A)
==
xor(B)
^
xor(B)
^
x
==
0
^
x
==
x
Fake代码
xor(B)
^
xor(A)
==
xor(B)
^
xor(B)
^
x
==
0
^
x
==
x
Fake代码
xor(B)
^
xor(A)
==
xor(B)
^
xor(B)
^
x
==
0
^
x
==
x
xor(B)
^
xor(A)
==
xor(B)
^
xor(B)
^
x
==
0
^
x
==
x
结论:
A

B
两个数组共
19999
个数,全部用来做异或,结果就是去掉的那个数
x。
(注:设
A
=
{a1,
a2,
a3,
....
a10000},

array_xor(A)
=
a1
^
a2
^
a3
^
...
^
a10000
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
不喜欢参加聚会怎么办 ...的电信8兆的宽带是169元每月可是用了2天就停机了,他说第一个月... 电信8兆宽带多少钱 爸妈想换5G套餐有没有那种可以绑定宽带一起的? ...换了波箱油后加速转速变高且偶有空转是怎么回事? 苦菜花的花语和寓意是什么? 苦菜花的花语是什么? 安徽省人事档案查询,调档等网上操作指南 安徽哪个网站调档 宽带10M与100M有什么区别啊?宽带10M和100M与平板电脑4G卡的用法用量有... java中^是什么意思 JAVA 中的 -> 是什么意思? 苹果手机WIFI看不了爱奇艺视频什么原因? 苹果爱奇艺会员怎么登陆账号 实事求是是财宝打一肖 吉尔伽美什的能力设定 满地金银财宝打一中国城市名? "满树红花朵朵开,全身财宝鲜更美,同声齐言人人举,人中之人是英伟 "谁能帮把这只签分析分是只姻缘签 金银财宝打一生肖? 金银的拼音怎么写 白玉一身是财宝是什么生肖? 全身是财宝指什么生肖 十二生肖中哪种动物生肖可形容为全身是财宝? 全身是财宝是什么生肖? 全身是财宝是什么动物 十二生肖什么 全身是财宝? 全身是财宝猜生肖 全身是财宝,猜一生肖 “全身是财宝打一生肖” 全身是财宝打一生肖 java中异或是怎样算的 java运算中&是什么意思,比如a=1;b=2;a&b=多少 在javaSE中位运算符^(按位异或)的特点是什么? java中的位运算符及其用法。 宏观经济学中的利率的概念 java异或运算符求详细过程 求:JAVA中常用位运算符及其用法详解 java中按位异或与逻辑异或的区别 利率是什么意思 java中的(或运算,异或运算,与运算)解释下 宏观经济中的利率指的是什么 JAVA按位异或运算问题 利率的含义是什么? 404 Not Found 宏观经济学中的利率是什么利率 JAVA位运算符 利率是什么意思? java运算中&是什么意思,比如a=1;b=2;a&b=多少 宏观中的利率的含义 JAVA中关于负数的位异或运算