Java Xor

Java Xor
Operatorzy bitowców są zwykle używane do manipulowania lub zapytania binarnego indeksowanego drzewa. Są zatrudnione do przeprowadzania operacji na osobnych kawałkach liczb. Możemy ich użyć na dowolnym integralnym typu danych, w tym INT, char, krótki itp. Omówimy jeden z operatorów bitowców, który jest operatorem XOR Java. XOR, który jest również nazywany ekskluzywnymi lub wymaga dwóch logicznych operandów. Prawdziwa forma XOR jest zwracana, gdy operandy utrzymują różne wartości. Operator XOR jest najbardziej skuteczny, gdy żaden z dwóch podanych warunków logicznych nie jest prawdziwy w tym samym czasie.

Przykład 1:

Operator binarny XOR jest obliczany od lewej do prawej, gdy jest używany do programu. Operator XOR „^” jest niezdefiniowany dla argumentów typu danych String.

Klasa publiczna Xorexample1
public static void main (string [] args)
boolean val1 = true;
boolean val2 = false;
wynik logiczny = val1 ^ val2;
System.na zewnątrz.println („val1 val2:”+ wynik);
val1 = true;
val2 = true;
Wynik = val1 ^ val2;
System.na zewnątrz.println („val1 ^ val2:”+ wynik);
val1 = false;
val2 = false;
Wynik = val1 ^ val2;
System.na zewnątrz.println („val1 val2:”+ wynik);
val1 = true;
val2 = false;
Wynik = val1 ^ val2;
System.na zewnątrz.println („val1 ^ val2: '+ wynik);

Tworzymy zmienne logiczne „VAL1” i „VAL2”, które otrzymujemy wartości logiczne. Zdefiniowana jest zmienna „wynika” typu logicznego, która jest wykorzystywana z operatorem XOR do oceny XOR na operantach „VAL1”, jak i „VAL2”. Metoda println () drukuje wyniki operacji XOR. Następnie zmieniamy wartości logiczne operandu i przypisujemy wartości fałszywych, aby uzyskać różne wyniki. Następnie podajemy alternatywne wartości logiczne dla tych operandów, aby pokazać funkcjonalność operatora XOR, gdy jeden operand ma prawdziwą wartość, a drugi ma fałszywą wartość.

Różne przypadki dla operatora XOR generują różne wyniki. Podobne wartości logiczne zawsze dają fałszywe wartości, a różne wartości operand zawsze zwracają prawdziwe dla operatora XOR.

Przykład 2:

Operator XOR dla wartości logicznych operandów pokazano w pierwszym przykładzie. Teraz operator XOR może być również zastosowany do wartości numerycznej dla operacji Bitwise Xor.

Klasa publiczna Xorexample2
public static void main (string [] args)
int a = 8;
int b = 2;
System.na zewnątrz.println ("a ^ b =" + (a ^ b));

Ogłaszamy zmienną „A” typu INT, która jest określona o wartości całkowitej „8”. Następna zmienna, która jest „B”, jest również inicjowana z wartością liczbową „2”. Następnie używamy metody Java println () do wykonania operacji XOR na wcześniej określonych zmiennych, wywołując równanie XOR, które jest oceniane i drukowane.

Wartość binarna „8” to „1000”. A wartość binarna dla „2” to „10”. Uzyskany wynik w formie binarnej dla tych operandów to „1010”, co jest wartością „10”, która jest wyświetlana w następującym terminalu:

Przykład 3:

XOR ciągów binarnych można określić za pomocą naszej metody, która wykorzystuje operator XOR i pewną dalszą logikę. Operator XOR jest używany dla obu ciągów, po prostu zapętlając każdą znak w obu strunach. Weź pod uwagę, że XOR może działać na typach danych i zwracać 0, jeśli znaki są podobne.

Klasa publiczna xorexample3
public static String XorbinaryString (String BS1, String BS2)
String x = "";
if (BS1.długość ()> bs2.długość())
String temp = "";
dla (int i = 0; i bs1.długość())
String temp = "";
dla (int i = 0; i< bs2.length() bs1.length(); i++)
temp += "0";
BS1 = TEMP + BS1;

dla (int i = 0; i< bs1.length(); i++)
X += bs1.Charat (i) ^ bs2.Charat (i);

powrót x;

public static void main (string [] args)
System.na zewnątrz.println („1011 ^ 1111:” + XorbinaryString („1011 ^ 1111”));
System.na zewnątrz.println („1 ^ 111101:” + XorbinaryString („1 ^ 11101”));
System.na zewnątrz.println („0101 ^ 1:” + XorbinaryString („0101 ^ 1”));
System.na zewnątrz.drukuj („10000010 ^ 0:” + XorbinaryString („1000001 ^ 0”) + „\ n”);

Konstruujemy funkcję „XorbinaryString”, która przyjmuje zmienne BS1 i BS2 typu ciągów jako argument konstruktor. W funkcji „XorbinaryString” deklarujemy zmienną „x”, która początkowo zawiera pusty ciąg. Następnie mamy instrukcję warunkową IF-ELSE-IF, aby dodać zero do tych zmiennych ciągów „BS1” i. Następnie mamy rozmieszczenie pętli, które przemierza każdy charakter binarnych ciągów „BS1” i. Metoda main () służy do przypisania wartości binarnych w stosunku do ciągów binarnych poprzez wywołanie funkcji „XorbinaryString”.

Wyniki operatora XOR są uzyskiwane dla łańcucha binarnego, który zawiera różne wartości binarne, które są uzyskiwane za pomocą metody niestandardowej.

Przykład 4:

Nie operator może być używany do wykonywania tego samego zadania, co operator Xor w Javie. Ponieważ operator XOR zwraca true, jeśli oba warunki są różne, użycie operatora nie umożliwia nam porównanie, czy pierwszy warunek jest równy, czy nie, zwracanie true, jeśli nie są równe i fałszywe w inny sposób.

Klasa publiczna Xorexample4
public static void main (string [] args)
boolean x1 = true;
boolean x2 = false;
boolean x3 = true;
boolean x4 = false;
if ((x1 = x3))
System.na zewnątrz.println („Warunek XOR jest prawdziwy”);

w przeciwnym razie

System.na zewnątrz.println („Warunek XOR jest fałszywy”);


Ogłaszamy niektóre zmienne logiczne, które są zatytułowane „x1”, „x2”, „x3” i „x4”. Są one inicjowane z wartościami logicznymi. Niektóre są określone z prawdziwą wartością, a niektóre zawierają fałszywe. Następnie mamy blok warunku IF-ELSE, w którym definiujemy warunek operatora nie, jeśli zmienna „x1” nie jest równa zmiennej „x2”. Określony warunek jest wydajny, że wymaga tylko jednego prawdziwego warunku, aby był prawdziwy. Jednak jego logika wymaga kilku warunków.

Wyjście alternatywnego sposobu operacji XOR wyświetla następujące wyniki:

Przykład 5:

Operator XOR można również użyć do wymiany wartości liczb całkowitych bez użycia trzeciej zmiennej. Takie podejście nabiera mniej pamięci i ma niższą złożoność czasową.

Klasa publiczna Xorexample5
STATIC VOID SWAP (int m, int n)
System.na zewnątrz.println ("Przed zamianą.");
System.na zewnątrz.println ("m =" + m);
System.na zewnątrz.println ("n =" + n);

m ^= n;
n ^= m;
m ^= n;
System.na zewnątrz.println ("Po zamianie.");
System.na zewnątrz.println ("m =" + m);
System.na zewnątrz.println ("n =" + n);

public static void main (string [] args)
zamiana (21, 15);

Ustanowimy funkcję „swap ()” w klasie głównej Java. Konstruktor funkcji „swap ()” jest określony za pomocą parametrów „m” i „n”. Następnie drukujemy zmienne „M” i „N”, aby pokazać wartości przed operacją zamiany. Następnie stosujemy technikę wymiany na zadeklarowanych zmiennych „M” i „N” za pomocą operatora XOR. Następnie wydrukuj wymienione wartości dla zmiennych „M” i „N”. Metoda main () nazywa się funkcją swap (), w której inicjujemy wartości numeryczne dla zmiennych „m” i „n” do zamiany.

Wartości przed spatrzeniem się są wydrukowane na konsoli wraz z wynikami operacji po zamianie:

Przykład 6:

Teraz istnieje złożony scenariusz operatora XOR do wyszukiwania wartości nie powtarzających się z danej tablicy.

Klasa publiczna Xorexample6
public static int nonrepeatingInteger (int [] intarray)
int myxor
InTARRAY [0];
dla (int i = 1; iMyxor = myxor ^ inTarray [i];
powrót myxor;

public static void main (string [] args)
int [] myarray = 19, 26, 45, 26, 45, 82, 19;
int nonrepeat = nonrepeatingInteger (myarray);
System.na zewnątrz.print („Non-Repeating Ingers: + nonrepeat +„ \ n ”);

Tworzymy funkcję „nierepeatingInteger”, która wzywa konstruktora do deklarowania tablicy int [] „InterArray”. Następnie, w ramach „NonrepeatingInteger”, definiujemy obiekt „Myxor” i określamy tablicę „intuarray” o zero, który jest inicjowany z wartościami liczb całkowitych w metodzie Main (). Tablica jest ustawiona z duplikatem wartości, z wyjątkiem jednej wartości. Za pętla służy do uzyskania wartości z tablic. Następnie te wartości tablicy są ułożone jako (19 ^ 19) ^ (26 ^ 26) ^ (45 ^ 45) ^ 82 w zmiennej „Myxor”. Jak wiemy, operator Xor zwraca zero dla podobnych wartości. Tak więc wszystkie podobne wartości tablicy stają się zerowe, a wartość nieprzewodząca jest uzyskiwana z XOR.

Liczba, która nie jest powtarzana w tablicy, to „82”, którą pobraliśmy w terminalu po technice XOR.

Wniosek

W tym artykule omówiliśmy podstawy operacji XOR. Nabywa mniej operatorów intensywnie pamięci i jest prostszy do wdrożenia. Wykorzystaliśmy operatora Xor w danym programie Java. Otrzymujemy również technikę określenia wartości XOR strun binarnych.