Cách tìm bitwise và hai số trong Java

Về cơ bản, chúng tôi đang kiểm tra xem số & [số - 1] có bằng 0 không thì số đó là lũy thừa của hai. Chúng tôi đang thực hiện hai thao tác trong mã này, thao tác đầu tiên là phép trừ nhị phân và thao tác thứ hai là thao tác AND theo bit


Trước tiên chúng ta hãy xem toán tử AND hoạt động như thế nào. Như tên gợi ý, nó thực hiện thao tác AND trên từng bit đơn lẻ của cả hai toán hạng, theo bit, AND sẽ chỉ trả về 0 nếu cả hai toán hạng không có bit được đặt [1] tại cùng một vị trí.  

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách thực hiện các thao tác bitwise bằng cách lấy đầu vào từ người dùng. Toán tử bitwise là toán tử được sử dụng để thao tác các bit riêng lẻ của một số. Chúng được sử dụng nhiều trong khi thực hiện các thao tác cập nhật và truy vấn trên cây được lập chỉ mục nhị phân. Nó được áp dụng cho các kiểu số nguyên, long, int, short, char và byte. Nhưng trước khi tiếp tục, nếu bạn chưa quen với khái niệm toán tử bitwise trong java, thì hãy xem bài viết về Toán tử trong Java

Đầu vào. [ 5 & 4 ]

[ 5. 4 ]

[ 5^4 ]

[ 5 > 4 ]

đầu ra

4

5

1

80

0

Hai trường hợp phát sinh cho vấn đề trên

Trường hợp 1. Khi các giá trị do người dùng xác định

trường hợp 2. Khi các giá trị được xác định trước

Chúng ta hãy xem xét từng trường hợp này một cách riêng biệt

chương trình 1. Để thực hiện hoạt động Bitwise

Trong chương trình này, chúng ta sẽ xem cách thực hiện các thao tác theo bit trong java khi các giá trị do người dùng xác định. Ở đây, đầu tiên chúng tôi sẽ yêu cầu người dùng nhập các giá trị, sau đó chúng tôi sẽ thực hiện các thao tác theo bit

thuật toán

  1. Bắt đầu
  2. Ở đây, chúng tôi sẽ sử dụng trường hợp chuyển đổi để chọn từ các toán tử bitwise khác nhau như &,. , ^, ~, >
  3. Khai báo một biến cho cùng một
  4. Yêu cầu người dùng khởi tạo nó
  5. Dựa trên thao tác đã chọn, khai báo hai biến
  6. Yêu cầu người dùng khởi tạo các biến
  7. Hiển thị kết quả sau khi thực hiện các thao tác bitwise
  8. Dừng lại

Chúng ta hãy xem ví dụ dưới đây để hiểu rõ hơn

//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 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+""+h+" = " + [g>>h]];
                    break;
                case 7:
                    System.exit[0];
            }
        }
    }
}


Chọn thao tác bạn muốn thực hiện
Chọn 1 cho &
Chọn 2 cho.
Chọn 3 cho ^
Chọn 4 cho ~
Chọn 5 cho

Chủ Đề