Java >> Tutoriel Java >  >> Java

Programme Java pour effectuer des opérations au niveau du bit

Dans ce didacticiel, nous allons apprendre à effectuer des opérations au niveau du bit en prenant en compte l'entrée de l'utilisateur. Les opérateurs au niveau du bit sont les opérateurs utilisés pour manipuler des bits individuels d'un nombre. Ceux-ci sont très utilisés lors de l'exécution d'opérations de mise à jour et de requête sur une arborescence indexée binaire. Il est appliqué aux types entiers, long, int, short, char et byte. Mais avant d'aller plus loin, si vous n'êtes pas familier avec le concept de l'opérateur au niveau du bit en Java, consultez l'article sur les opérateurs en Java.

Entrée : ( 5 &4 )

( 5 | 4 )

( 5 ^ 4 )

( 5 <<4 )

( 5>> 4 )

Sortie :

4

5

1

80

0

Deux cas se présentent pour le problème ci-dessus :

Cas 1 :lorsque les valeurs sont définies par l'utilisateur

Cas 2 :Lorsque les valeurs sont prédéfinies

Examinons chacun de ces cas séparément.

Programme 1 :Pour effectuer une opération au niveau du bit

Dans ce programme, nous verrons comment effectuer des opérations au niveau du bit en Java lorsque les valeurs sont définies par l'utilisateur. Ici, nous allons d'abord demander à l'utilisateur de saisir les valeurs, puis nous effectuerons les opérations au niveau du bit.

Algorithme :

  1. Démarrer
  2. Ici, nous allons utiliser une casse pour choisir parmi différents opérateurs au niveau du bit comme &, |, ^, ~, <>.
  3. Déclarez une variable pour le même.
  4. Demandez à l'utilisateur de l'initialiser.
  5. En fonction de l'opération choisie, déclarez deux variables.
  6. Demandez à l'utilisateur d'initialiser les variables.
  7. Afficher le résultat après avoir effectué les opérations au niveau du bit.
  8. Arrêtez.

Regardons l'exemple ci-dessous pour une meilleure compréhension.

//Java Program to perform the bitwise operation
import java.util.Scanner;
public class Main
{
   public static void main(String args[])
   {   
       //Take input from the user
       //Create instance of the Scanner class
        Scanner s = new Scanner(System.in);
        while(true)
        {
            System.out.println("");
            
            System.out.println("Choose the operation you want to perform ");
            System.out.println("Choose 1 for & ");
            System.out.println("Choose 2 for | ");
            System.out.println("Choose 3 for ^ ");
            System.out.println("Choose 4 for ~");
            System.out.println("Choose 5 for <<");
            System.out.println("Choose 6 for >>");
            System.out.println("Choose 7 for EXIT");
            int n = s.nextInt();
            switch(n)
            {
                case 1:
                    System.out.println("Enter the two numbers to perform operations ");
                    System.out.print("Enter the first number : ");
                    int x = s.nextInt();
                    System.out.print("Enter the second number : ");
                    int y = s.nextInt();
                    System.out.println("Result of "+x+"&"+y+" = " + (x&y));
                    break;
 
                case 2:
                    System.out.println("Enter the two numbers to perform operations ");
                    System.out.print("Enter the first number : ");
                    int p = s.nextInt();
                    System.out.print("Enter the second number : ");
                    int q = s.nextInt();
                    System.out.println("Result of "+p+"|"+q+" = " + (p |q ));
                    break;
 
                case 3:
                    System.out.println("Enter the two numbers to perform operations ");
                    System.out.print("Enter the first number : ");
                    int a = s.nextInt();
                    System.out.print("Enter the second number : ");
                    int b = s.nextInt();
                    System.out.println("Result of "+a+"^"+b+" = " + (a ^ b));
                    break;
 
                case 4:
                    System.out.print("Enter the number : ");
                    int c = s.nextInt();
                    System.out.print("The result of ~"+c+ " is "+(~c));
                    break;
 
                case 5:
                    System.out.println("Enter the two numbers to perform operations ");
                    System.out.print("Enter the first number : ");
                    int e = s.nextInt();
                    System.out.print("Enter the second number : ");
                    int f = s.nextInt();
                    System.out.println("Result of "+e+"<<"+f+" = " + (e<<f));
                    break;
                    
                case 6:
                    System.out.println("Enter the two numbers to perform operations ");
                    System.out.print("Enter the first number : ");
                    int g = s.nextInt();
                    System.out.print("Enter the second number : ");
                    int h = s.nextInt();
                    System.out.println("Result of "+g+">>"+h+" = " + (g>>h));
                    break;
                case 7:
                    System.exit(0);
            }
        }
    }
}


Choisissez l'opération que vous souhaitez effectuer
Choisissez 1 pour &
Choisissez 2 pour |
Choisissez 3 pour ^
Choisissez 4 pour ~
Choisissez 5 pour <<
Choisissez 6 pour>>
Choisissez 7 pour EXIT
1
Entrez les deux chiffres pour effectuer les opérations
Entrez le premier chiffre :2
Entrez le deuxième chiffre :3
Résultat de 2&3 =2

Choisissez l'opération que vous souhaitez effectuer
Choisissez 1 pour &
Choisissez 2 pour |
Choisissez 3 pour ^
Choisissez 4 pour ~
Choisissez 5 pour <<
Choisissez 6 pour>>
Choisissez 7 pour EXIT
2
Entrez les deux nombres pour effectuer des opérations
Entrez le premier chiffre :4
Entrez le deuxième chiffre :5
Résultat de 4|5 =5

Choisissez l'opération que vous souhaitez effectuer
Choisissez 1 pour &
Choisissez 2 pour |
Choisissez 3 pour ^
Choisissez 4 pour ~
Choisissez 5 pour <<
Choisissez 6 pour>>
Choisissez 7 pour EXIT
3
Entrez les deux chiffres pour effectuer les opérations
Entrez le premier chiffre :5
Entrez le second chiffre :6
Résultat de 5^6 =3

Choisissez l'opération que vous souhaitez effectuer
Choisissez 1 pour &
Choisissez 2 pour |
Choisissez 3 pour ^
Choisissez 4 pour ~
Choisissez 5 pour <<
Choisissez 6 pour>>
Choisissez 7 pour EXIT
4
Entrez le nombre :Le résultat de ~7 est -8
Choisissez l'opération que vous souhaitez effectuer
Choisissez 1 pour &
Choisissez 2 pour |
Choisissez 3 pour ^
Choisissez 4 pour ~
Choisissez 5 pour <<
Choisissez 6 pour>>
Choisissez 7 pour EXIT
5
Entrez les deux chiffres pour effectuer les opérations
Entrez le premier chiffre :8
Entrez le deuxième chiffre :9
Résultat de 8<<9 =4096

Choisissez l'opération que vous souhaitez effectuer
Choisissez 1 pour &
Choisissez 2 pour |
Choisissez 3 pour ^
Choisissez 4 pour ~
Choisissez 5 pour <<
Choisissez 6 pour>>>
Choisissez 7 pour EXIT
6
Entrez les deux nombres pour effectuer les opérations
Entrez le premier nombre :1
Entrez le deuxième nombre :2
Résultat de 1>>2 =0

Choisissez l'opération que vous veux jouer
Choisit e 1 pour &
Choisissez 2 pour |
Choisissez 3 pour ^
Choisissez 4 pour ~
Choisissez 5 pour <<
Choisissez 6 pour>>>
Choisissez 7 pour QUITTER
7

Programme 2 :Pour effectuer une opération au niveau du bit

Dans ce programme, nous effectuerons les opérations au niveau du bit lorsque les valeurs sont prédéfinies dans le programme.

Algorithme :

  1. Démarrer
  2. Ici, nous allons utiliser une casse pour choisir parmi différents opérateurs au niveau du bit comme &, |, ^, ~, <>.
  3. Déclarez deux variables.
  4. Initialisez-le.
  5. Effectuez tous les opérateurs au niveau du bit tels que &, |, ^, ~, <>.
  6. Afficher le résultat de chaque opération au niveau du bit.
  7. Arrêtez.

Regardons l'exemple ci-dessous pour une meilleure compréhension.

//Java Program to perform bitwise operation
public class Main 
{
    public static void main(String[] args)
    {
        // Declare and initialize the variables
        int a = 3;
        int b = 2;
        // bitwise and
        System.out.println("Result of "+a+"&"+b+" = " + (a & b));
        // bitwise or
        System.out.println("Result of "+a+"|"+b+" = " + (a | b));
        // bitwise xor
        System.out.println("Result of "+a+"^"+b+" = " + (a ^ b));
        System.out.println("Result of ~"+a+" = " + ~a);
        System.out.println("Result of "+a+" << "+b+" = " + (a << b));
        System.out.println("Result of "+a+" >> "+b+" = " + (a >> b));
        // When combined with assignment operator 
        a &= b;
        System.out.println("Result after a&=b is a= " + a);
    }
}


Résultat de 3&2 =2
Résultat de 3|2 =3
Résultat de 3^2 =1
Résultat de ~3 =-4
Résultat de 3 <<2 =12
Résultat de 3>> 2 =0
Le résultat après a&=b est a=2


Balise Java