Java >> Java tutorial >  >> Java

Java-program til at konvertere binær kode til grå kode uden at bruge rekursion

I denne tutorial lærer vi, hvordan man konverterer tallets binære kode til dets tilsvarende Grays kode uden at bruge rekursion. Grå kode er et binært talsystem, hvor to på hinanden følgende værdier kun adskiller sig på én bit. Men før du går videre, hvis du ikke er bekendt med de grundlæggende begreber for metoder i java, så tjek artiklen om emnet metoder i java.

Input: Indtast det binære tal:1110

Output: Den tilsvarende grå kode er:1001

Lad os se på eksemplerne for bedre forståelse.

Program 1:Konverter binær kode for et tal til dets ækvivalente Gray's-kode uden at bruge rekursion

I dette eksempel vil vi se, hvordan man konverterer tallets binære kode til dets tilsvarende Grays kode uden at bruge rekursion.

Algorithme:

  1. Start
  2. Opret en forekomst af scannerklassen.
  3. Deklarer en variabel for at gemme det binære tal.
  4. Bed brugeren om at initialisere variablen.
  5. Deklarer en brugerdefineret metode til at konvertere binær kode til grå kode.
  6. Gener gennem alle bits af strengen.
  7. Udfør XOR på den forrige bit og den aktuelle bit i den binære streng.
  8. Gentag processen, indtil alle dele af strengen er dækket.
  9. Udskriv resultatet.
  10. Stop.

Nedenstående eksempel illustrerer implementeringen af ​​ovenstående algoritme.

//Java Program to Convert Binary Code Into 
//Equivalent Gray Code Without Using Recursion
import java.util.*;
  
public class Main 
{
  public static void toGray(String str)
    {
        // a String varaible to store the obtained gray string.
        String gray = new String();
        gray += str.charAt(0);
        for (int i = 1; i < str.length(); i++)
        {
            // perform XOR on the prevous bit and the
            // current bit of the binary string
         gray += (Integer.parseInt(String.valueOf(str.charAt(i - 1))) ^ 
                   Integer.parseInt(String.valueOf(str.charAt(i))));
            
        }
        System.out.println("The equivalent gray code is : " + gray);
    }
    
    // Driver Program
    public static void main(String args[])
    {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter the Binary number:");
        String str = sc.nextLine();
        toGray(str);
    }
}


Indtast det binære tal:111011001
Den tilsvarende grå kode er:100110101

Program 2:Konverter binær kode for et tal til dets ækvivalente Gray's-kode uden at bruge rekursion

I dette eksempel vil vi se, hvordan man konverterer tallets binære kode til dets tilsvarende Grays kode uden at bruge rekursion.

Algorithme:

  1. Start
  2. Opret en forekomst af scannerklassen.
  3. Deklarer en variabel for at gemme det binære tal.
  4. Bed brugeren om at initialisere variablen.
  5. Erklær en brugerdefineret metode til at konvertere binær kode til grå kode.
  6. Først skal du gennemgå alle tegnene i strengen.
  7. Deklarer en anden separat brugerdefineret funktion, der returnerer XOR for to tal.
  8. Gentag trinnene, indtil xor-værdien er fundet for alle bits af strengen.
  9. Vis output.
  10. Stop.

Nedenstående eksempel illustrerer implementeringen af ​​ovenstående algoritme.

//Java Program to Convert Binary Code Into 
//Equivalent Gray Code Without Using Recursion
import java.util.*;
  
public class Main 
{
    public static int xOR(char a, char b)
    {
        // return 1 if both bits are not same
        if (a != b)
            return 1;
        
        // else return 0
        return 0;
    }
    // converts the given binary string into its equivalent gray code
    public static void toGray(String str)
    {
        String gray = new String();
        gray += str.charAt(0);
        // for all the other bits, traverse through the
        // binary string
        for (int i = 1; i < str.length(); i++)
        {
            // calling xOR() method on the prevous bit and
            // the current bit of the binary string
            gray += xOR(str.charAt(i - 1), str.charAt(i));
        }
        System.out.println("The equivalent gray code is : " + gray);
    }
    // Driver Program
    public static void main(String args[])
    {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter the Binary number:");
        String str = sc.nextLine();
        toGray(str);
    }
}


Indtast det binære tal:100011001
Den tilsvarende grå kode er:110010101


Java tag