网站首页 > 文章中心 > 其它

java代码怎么写异或

作者:小编 更新时间:2023-09-28 07:49:26 浏览量:335人看过

java怎样用异或进行

异或运算(^)都以二进制数据为基础进行的运算.也就是说当代码中使用到异或运算时,都会先将两个条件进行转换,转换成二进制数据后,再进行运算.异域中同位如果值相同(都是0或者都是1)则为0,不同(一个是0,一个是1)为1.

例如

过程

java代码怎么写异或-图1

①.、a的值二进制是

0000 0110

用java写一个 字符串异或 的程序

byte?b1[]?=?str1.getBytes();

byte?longbytes[],shortbytes[];

longbytes?=?b1;

}else{

shortbytes?=?b1;

}

java代码怎么写异或-图2

byte?xorstr[]?=?new?byte[longbytes.length];

int?i?=?0;

for?(;?i?shortbytes.length;?i++)?{

xorstr[i]?=?(byte)(shortbytes[i]^longbytes[i]);

for?(;ilongbytes.length;i++){

xorstr[i]?=?longbytes[i];

return?new?String(xorstr);

java异或运算符求详细过程

int?c?=?a^b;

System.out.println("异或?="?+?Integer.toBinaryString(c));

System.out.println("即??="?+?c);

异或 ? ?=11111111111111111111111111000011

原码为1000...111101

java异或运算

java和c的执行是不一致的

相同之处:i ^= (j ^= (i ^= j)); java和C都是这个执行顺序;

不同之处:

java:执行完第一个(i ^= j)的时候,最左边的i的值还是1而不会是(i ^= j)的值

C:执行完第一个(i ^= j)的时候,最左边(第一个)i的值是(i ^= j)

你的程序改成这样就可以了:

java代码怎么写异或-图3

j ^= i ^= j;

i ^= j;

i =i^j;

j=i^j;

i=i^j;

java中异或是怎样算的

概述

解析

异或是一种基于二进制的位运算,用符号XOR或者^表示,其运算法则是对运算符两侧数的每一个进制位同值则取0,异值则取1.

简单理解就是不进位加法,如1+1=0,0+0=0,1+0=1.

For example:

所以:

i 的二进制 = 00110010

j 的二进制 = 00111100

同位相同取0,不同取1所以得出来的值为00001110

拓展内容

异或运算符

性质

①.、交换律?

异或运算最常见于多项式除法,不过它最重要的性质还是自反性:A XOR B XOR B = A,即对给定的数A,用同样的运算因子(B)作两次异或运算后仍得到A本身.这是一个神奇的性质,利用这个性质,可以获得许多有趣的应用. 例如,所有的程序教科书都会向初学者指出,要交换两个变量的值,必须要引入一个中间变量.但如果使用异或,就可以节约一个变量的存储空间: 设有A,B两个变量,存储的值分别为a,b,则以下三行表达式将互换他们的值 表达式 (值) :?

A=A XOR B (a XOR b)?

B=B XOR A (b XOR a XOR b = a)?

A=A XOR B (a XOR b XOR a = b)

#code:

google面试题的变形:一个数组存放若干整数,一个数出现奇数次,其余数均出现偶数次,找出这个出现奇数次的数?

以上就是土嘎嘎小编为大家整理的java代码怎么写异或相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章