Метод Long numberOfTrailingZeros в Java

JavaJavaBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

Метод numberOfTrailingZeros() возвращает количество битовых нулей, следующих после младшего по порядку единичного бита (самого правого) переданного значения типа long. Этот метод является частью класса Long пакета java.lang.

Создайте новый Java-файл

Создайте новый Java-файл с использованием редактора nano, введя следующую команду в терминале:

touch ~/project/TrailingZeros.java

Напишите код на Java

Добавьте следующий код, чтобы использовать метод numberOfTrailingZeros() для получения количества конечных нулей в значении типа long:

public class TrailingZeros {
    public static void main(String[] args) {
        // положительное число
        long num1 = 170L;
        System.out.println("Исходное число равно " + num1);
        System.out.println("Двоичное представление равно = " + Long.toBinaryString(num1));
        System.out.println("Количество конечных нулей равно = " + Long.numberOfTrailingZeros(num1));

        // отрицательное число
        long num2 = -57L;
        System.out.println("Исходное число равно " + num2);
        System.out.println("Двоичное представление равно = " + Long.toBinaryString(num2));
        System.out.println("Количество конечных нулей равно " + Long.numberOfTrailingZeros(num2));
    }
}

Скомпилируйте и запустите код

Скомпилируйте код на Java с использованием следующей команды в терминале:

javac ~/project/TrailingZeros.java

После завершения компиляции запустите программу, введя следующую команду в терминале:

java TrailingZeros

Вывод программы будет выглядеть так:

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

Ввод пользователя

Вы также можете получать ввод от пользователя и возвращать количество конечных нулей этого числа. Добавьте следующий код, чтобы достичь вышеописанной функциональности:

import java.util.Scanner;

public class TrailingZeros {
    public static void main(String[] args) {
        try {
            System.out.println("Введите число: ");
            Scanner sc = new Scanner(System.in);
            long num3 = sc.nextLong();
            System.out.println("Двоичное представление равно = " + Long.toBinaryString(num3));
            System.out.println("Количество конечных нулей равно " + Long.numberOfTrailingZeros(num3));
        } catch (Exception e) {
            System.out.println("Некорректный ввод");
        }
    }
}

Скомпилируйте и запустите обновленный код

Скомпилируйте обновленный код на Java с использованием следующей команды в терминале:

javac ~/project/TrailingZeros.java

После завершения компиляции запустите обновленную программу, введя следующую команду в терминале:

java TrailingZeros

Когда программа запросит у вас ввод, введите значение типа long по своему выбору и нажмите клавишу 'Enter'. Программа выведет двоичное представление числа и количество конечных нулей.

Резюме

В этом практическом занятии вы узнали, как использовать метод numberOfTrailingZeros() для возврата количества конечных нулей в переданном значении типа long. Также вы создали программу с вводом пользователя, которая получает ввод от пользователя и возвращает количество конечных нулей этого числа.