Рубрики

Java lang.Long.highestOneBit () метод в Java с примерами

java.lang.Long.highestOneBit () — это встроенный в Java метод, который сначала конвертирует число в двоичный, затем ищет первый установленный бит слева, затем сбрасывает остальные биты и затем возвращает значение. На простом языке, если двоичное выражение числа содержит минимум одного установленного бита, оно возвращает 2 ^ (последняя установленная позиция бита справа-1). Если двоичное выражение не содержит никакого установленного бита, оно возвращает 0.

Синтаксис:

public static long highestOneBit(long num)
Parameters:
num - the number passed 
Returns:
long value by only considering highest 1 bit in the argument.

Примеры:

Input : 9 
Output : 8
Explanation: Binary Representation = 1001
It considers highest bit(at 4th from right) and now
reset rest of the bits i.e. 1000
so result = 1000 i.e. 8 or in simple terms, the last set 
bit position from right is at position 4, hence 2^3=8

Input : 45
Output : 32

Программа ниже иллюстрирует функцию java.lang.Long.highestOneBit ():

Программа 1:

// Java-программа, которая демонстрирует использование
// Long.highestOneBit () функция

  
// включить пакет lang

import java.lang.*;

  

public class GFG {

  

    public static void main(String[] args)

    {

  

        long l = 9;

  

        // возвращает длинное значение с максимум

        // однобитный, в позиции

        // самого высокого порядка («самый правый»)

        // однобитный в указанном длинном значении.

        System.out.println("highest one bit = " + Long.highestOneBit(l));

  

        l = 45;

        System.out.println("highest one bit = " + Long.highestOneBit(l));

    }

}

Выход:

highest one bit = 8
highest one bit = 32

Примечание: старший бит отрицательного числа всегда будет одинаковым в каждом случае, следовательно, независимо от числа выход будет одинаковым для каждого отрицательного числа.

Программа 2: Программа ниже демонстрирует использование функции, когда передается отрицательное число.

// Java-программа, которая демонстрирует использование
// Long.highestOneBit () функция
// отрицательное число

  
// включить пакет lang

import java.lang.*;

  

public class GFG {

  

    public static void main(String[] args)

    {

  

        long l = -15;

  

        // печатает двоичный файл отрицательного выражения

        System.out.println("Binary = " + Long.toBinaryString(l));

  

        // возвращает длинное значение с at

        // чаще всего один бит в позиции

        // самого высокого порядка («самый правый»)

        // однобитный в указанном значении int.

        System.out.println("Highest one bit = " + Long.highestOneBit(l));

    }

}

Выход:

Binary = 1111111111111111111111111111111111111111111111111111111111110001
Highest one bit = -9223372036854775808

Он возвращает сообщение об ошибке, когда в качестве аргумента передается десятичное строковое значение.
Программа 3: когда в аргумент передается десятичное значение.

// Java-программа, которая демонстрирует
// Long.highestOneBit () функция
// десятичное значение в аргументе

  
// включить пакет lang

import java.lang.*;

  

public class GFG {

  

    public static void main(String[] args)

    {

  

        System.out.println("highest one bit = " + Long.highestOneBit(12.34));

    }

}

Выход:

prog.java:13: error: incompatible types: possible lossy conversion from double to long
        System.out.println("highest one bit = " + Long.highestOneBit(12.34));

Программа 3: когда в качестве аргумента передается строковое значение.

// Java-программа, которая демонстрирует
// Long.highestOneBit () функция
// строковое значение в аргументе

  
// включить пакет lang

import java.lang.*;

  

public class GFG {

  

    public static void main(String[] args)

    {

  

        System.out.println("highest one bit = " + Long.highestOneBit("12"));

    }

}

Выход:

prog.java:13: error: incompatible types: String cannot be converted to long
        System.out.println("highest one bit = " + Long.highestOneBit("12"));

Рекомендуемые посты:

Java lang.Long.highestOneBit () метод в Java с примерами

0.00 (0%) 0 votes