Java Integer numberOfTrailingZeros 메서드

JavaBeginner
지금 연습하기

소개

Java 에서 NumberOfTrailingZeros() 메서드는 인수로 전달된 정수 값의 2 의 보수 표현에서 최하위 1 비트 (가장 오른쪽) 다음에 오는 0 비트의 수를 반환하는 데 사용됩니다. 즉, 정수 값을 이진수로 변환하고 최하위 (가장 오른쪽) 1 비트 다음에 오는 0 비트의 총 수를 반환합니다. 이 랩에서는 Java 에서 NumberOfTrailingZeros() 메서드를 사용하는 과정을 안내합니다.

Java 클래스 생성

다음 명령을 사용하여 ~/project 디렉토리에 NumberOfTrailingZerosDemo라는 Java 클래스를 생성합니다.

vi ~/project/NumberOfTrailingZerosDemo.java

NumberOfTrailingZeros() 메서드 코드 추가

이 단계에서는 NumberOfTrailingZeros() Java 메서드를 클래스에서 사용하기 위한 코드를 추가합니다.

public class NumberOfTrailingZerosDemo {

    public static void main(String[] args) {
        int i = 170; // 양수
        System.out.println("Original Number is " + i);
        System.out.println("Binary representation is = " + Integer.toBinaryString(i));
        System.out.println("Number of trailing zeros is " + Integer.numberOfTrailingZeros(i));

        int j = -57; // 음수
        System.out.println("Original Number is " + j);
        System.out.println("Binary representation is = " + Integer.toBinaryString(j));
        System.out.println("Number of trailing zeros is " + Integer.numberOfTrailingZeros(j));
    }
}

이 코드는 원래 숫자, 이진 표현 및 최하위 1 비트 다음에 오는 후행 0 의 수를 출력합니다.

Java 클래스 컴파일 및 실행

클래스를 컴파일하려면 터미널에서 다음 명령을 실행합니다.

javac NumberOfTrailingZerosDemo.java

컴파일된 클래스를 실행하려면 다음 명령을 사용합니다.

java NumberOfTrailingZerosDemo

프로그램의 출력은 다음과 같습니다.

Original Number is 170
Binary representation is = 10101010
Number of trailing zeros is 1
Original Number is -57
Binary representation is = 11111111111111111111111111000111
Number of trailing zeros is 0

사용자 입력 예시

다음은 사용자가 숫자를 입력하고 후행 0 의 수를 출력할 수 있는 예시입니다.

main() 함수에 아래 코드를 추가합니다:

try {
    System.out.println("Enter the number ");
    Scanner sc = new Scanner(System.in);
    int i = sc.nextInt();
    System.out.println("Binary representation is = " + Integer.toBinaryString(i));
    System.out.println("Number of trailing zeros is " + Integer.numberOfTrailingZeros(i));
} catch (Exception e) {
    System.out.println("Invalid input");
}

수정된 Java 클래스 컴파일 및 실행

클래스를 컴파일하려면 터미널에서 다음 명령을 실행합니다.

javac NumberOfTrailingZerosDemo.java

컴파일된 클래스를 실행하려면 다음 명령을 사용합니다.

java NumberOfTrailingZerosDemo

프로그램의 출력은 다음과 같습니다.

Enter the number
87
Binary representation is = 1010111
Number of trailing zeros is 0

라이브 예제 테스트

이제 NumberOfTrailingZeros() 메서드가 어떻게 작동하는지 알았으니, 라이브 예제를 테스트하여 유사한 출력을 생성할 수 있는지 확인할 수 있습니다.

import java.lang.*;

public class NumberOfTrailingZerosDemo {
    public static void main(String[] args) {
            int i = 500; //2 trailing zeros

            System.out.println("Number is like : "+ i);
            System.out.println("Binary representation is = " + Integer.toBinaryString(i));
            System.out.println("Number of trailing zeros is " + Integer.numberOfTrailingZeros(i));

            int j = 456; //2 trailing zeros
            System.out.println("Number is like : "+ j);
            System.out.println("Binary representation is = " + Integer.toBinaryString(j));
            System.out.println("Number of trailing zeros is " + Integer.numberOfTrailingZeros(j));

            int k = -8; //3 leading zeros
            System.out.println("Number is like : "+ k);
            System.out.println("Binary representation is = " + Integer.toBinaryString(k));
            System.out.println("Number of zeros behind the rightmost 1-bit is " + Integer.numberOfTrailingZeros(k));
    }
}

터미널에서 위의 코드를 실행하여 출력을 얻습니다.

javac NumberOfTrailingZerosDemo.java
java NumberOfTrailingZerosDemo

다음과 같은 출력을 생성합니다.

Number is like : 500
Binary representation is = 111110100
Number of trailing zeros is 2
Number is like : 456
Binary representation is = 111001000
Number of trailing zeros is 2
Number is like : -8
Binary representation is = 11111111111111111111111111111000
Number of zeros behind the rightmost 1-bit is 3

GitHub 에 코드 저장

NumberOfTrailingZeros() 메서드에 대한 코드를 성공적으로 작성하고, ~/project/NumberOfTrailingZerosDemo.java 디렉토리에 저장했으며, 코드를 성공적으로 실행했다면, 향후 참조를 위해 GitHub 에 저장하는 것이 중요합니다. 다음 단계를 사용하여 코드를 GitHub 저장소로 푸시합니다.

  1. 로컬 디렉토리를 Git 저장소로 초기화합니다.
git init
  1. 새 로컬 저장소에 파일을 추가합니다. 이는 첫 번째 커밋을 위해 스테이징합니다.
git add .
  1. 로컬 저장소에서 스테이징한 파일을 커밋합니다.
git commit -m 'first commit'
  1. 명령 프롬프트에서 로컬 저장소를 푸시할 원격 저장소의 URL 을 추가합니다.
git remote add origin <REMOTE_URL>
## Example
## git remote add origin https://github.com/user/repo.git
  1. 로컬 저장소의 변경 사항을 GitHub 에 푸시합니다.
git push origin master

GitHub 에서 코드 업데이트

GitHub 에서 코드를 업데이트하려면 아래 단계를 따르세요.

  1. 로컬 저장소에 새로운 변경 사항을 추가합니다.
git add .
  1. 로컬 저장소에서 스테이징한 파일을 커밋합니다.
git commit -m 'commit message'
  1. 로컬 저장소의 변경 사항을 GitHub 에 푸시합니다.
git push origin branch-name

GitHub 에서 코드 가져오기

GitHub 저장소에 커밋한 코드를 가져오려면 다음 명령을 사용하십시오.

git clone <git-repo-url>

로컬 환경 정리

연습을 완료한 후에는 생성하고 컴파일한 .java 파일을 삭제하여 환경을 정리해야 합니다.

rm ~/project/NumberOfTrailingZerosDemo.java
rm ~/project/NumberOfTrailingZerosDemo.class

요약

이 랩에서는 Java 에서 NumberOfTrailingZeros() 메서드를 사용하는 방법을 배웠습니다. 또한, 다양한 입력 숫자와 입력에 따라 출력이 어떻게 변하는지에 대한 예제를 다루었습니다. GitHub 에 코드를 저장하는 방법도 다루었습니다.