Рубрики

Проверьте, установлен ли K-й бит или нет

Учитывая число n, проверьте, установлен k-й бит n или нет.

Примеры:

Input : n = 5, k = 1
Output : SET
5 is represented as 101 in binary
and has its first bit set.

Input : n = 2, k = 3
Output : NOT SET
2 is represented as 10 in binary, 
all higher i.e. beyond MSB,
bits are NOT SET.

Метод 1 (с использованием левого оператора Shift)
Ниже приведены простые шаги, чтобы найти значение k-го бита

1) Left shift given number 1 by k-1 to create 
   a number that has only set bit as k-th bit.
    temp = 1 << (k-1)
2) If bitwise AND of n and temp is non-zero, 
   then result is SET else result is NOT SET.

Пример:

 n = 75 and k = 4
 temp = 1 << (k-1) = 1 << 3 = 8 
 Binary Representation of temp = 0..00001000 
 Binary Representation of n = 0..01001011 
 Since bitwise AND of n and temp is non-zero,
 result is SET.

C ++

// Программа CPP для проверки, если k-й бит
// заданное число установлено или нет
#include <iostream>

using namespace std;

  

void isKthBitSet(int n, int k)

{

    if (n & (1 << (k - 1)))

        cout << "SET";

    else

        cout << "NOT SET";

}

  
// Код драйвера

int main()

{

    int n = 5, k = 1;

    isKthBitSet(n, k);

    return 0;

}

Джава

// Java-программа для проверки, если k-й бит
// заданное число установлено или нет

  

class Number {

    public static void isKthBitSet(int n,

                                   int k)

    {

        if ((n & (1 << (k - 1))) == 1)

            System.out.print("SET");

        else

            System.out.print("NOT SET");

    }

  

    // код драйвера

    public static void main(String[] args)

    {

        int n = 5, k = 1;

        isKthBitSet(n, k);

    }

}

  
// Этот код предоставлен rishabh_jain

python3

# Python3 код для проверки, если k-й бит
# заданного числа установлено или нет

  

def isKthBitSet(n, k):

    if n & (1 << (k - 1)):

        print( "SET")

    else:

        print("NOT SET")

  
# Код драйвера

n = 5

k = 1

isKthBitSet(n, k)

  
# Этот код предоставлен "Sharad_Bhardwaj".

C #

// C # программа для проверки, если k-й бит
// заданного числа установлено или нет.

using System;

  

class GFG {

  

    public static void isKthBitSet(int n,

                                   int k)

    {

        if ((n & (1 << (k - 1))) == 1)

            Console.Write("SET");

        else

            Console.Write("NOT SET");

    }

  

    // Код драйвера

    public static void Main()

    {

        int n = 5, k = 1;

  

        isKthBitSet(n, k);

    }

}

  
// Этот код предоставлен нитин митталь.

PHP

<?php
// PHP программа для проверки
// k-й бит данного
// номер установлен или нет

function isKthBitSet($n, $k)

{

    if ($n & (1 << ($k - 1)))

        echo "SET";

    else

        echo "NOT SET";

}

  
// Код драйвера

$n = 5; $k = 1;

isKthBitSet($n, $k);

  
// Этот код добавлен
// от akt_mit
?>


Выход:

SET

Метод 2 (с использованием оператора вправо Shift)
Если мы сдвинем вправо n на k-1, мы получим последний бит как 1, если k-й бит установлен иначе 0.

C ++

// Программа CPP для проверки, если k-й бит
// заданного числа установлено или не используется
// Оператор сдвига вправо.
#include <iostream>

using namespace std;

  

void isKthBitSet(int n, int k)

{

    if ((n >> (k - 1)) & 1)

        cout << "SET";

    else

        cout << "NOT SET";

}

  
// Код драйвера

int main()

{

    int n = 5, k = 1;

    isKthBitSet(n, k);

    return 0;

}

Джава

// Java программа для проверки
// k-й бит данного числа
// установлено или не используется право
// оператор сдвига.

import java.io.*;

  

class GFG 

{

static void isKthBitSet(int n, 

                        int k)

{

    if (((n >> (k - 1)) &

               1) == 1)

        System.out.println("SET");

    else

        System.out.println("NOT SET");

}

  
// Код драйвера

public static void main (String[] args) 

{

    int n = 5, k = 1;

    isKthBitSet(n, k);

}
}

  
// Этот код добавлен
// от ajit

python3

# PHP-программа для проверки, если k-й бит
# заданный номер установлен или не используется
# Оператор сдвига вправо.

  

def isKthBitSet(n, k): 

    if ((n >> (k - 1)) and 1):

        print("SET")

    else:

        print("NOT SET"

  
# Код драйвера

n, k = 5, 1

isKthBitSet(n, k) 

  
# Этот код предоставлен
# PrinciRaj1992

C #

// C # программа для проверки
// k-й бит данного числа
// установлено или не используется право
// оператор сдвига

using System;

  

class GFG

{

static void isKthBitSet(int n, 

                        int k)

{

    if (((n >> (k - 1)) &

              1) == 1)

        Console.WriteLine("SET");

    else

        Console.WriteLine("NOT SET");

}

  
// Код драйвера

static public void Main ()

{

    int n = 5, k = 1;

    isKthBitSet(n, k);

}
}

  
// Этот код добавлен
// от ajit

PHP

<?php
// PHP программа для проверки
// если k-й бит данного
// номер установлен или нет
// используя оператор смещения вправо.

  

function isKthBitSet($n, $k)

{

    if (($n >> ($k - 1)) & 1)

        echo "SET";

    else

        echo "NOT SET";

}

  
// Код драйвера

$n = 5; $k = 1;

isKthBitSet($n, $k);

  
// Этот код добавлен
// от akt_mit
?>


Выход:

SET

Эта статья предоставлена САКШИ ТИВАРИ . Если вам нравится GeeksforGeeks (мы знаем, что вы делаете!) И хотели бы внести свой вклад, вы также можете написать статью с помощью contrib.geeksforgeeks.org или написать по почте свою статью на contrib@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

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

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

Проверьте, установлен ли K-й бит или нет

0.00 (0%) 0 votes