Рубрики

Альтернативные биты двух чисел для создания нового номера

Учитывая два числа, задача состоит в том, чтобы использовать альтернативные биты в двух числах для создания результата. Мы берем первые биты второго числа, затем второй бит первого числа, третий бит второго числа и берем четвертый бит первого числа и так далее и генерируем число с ним.

Примеры :

Input : n = 10, m = 11
Output : 11
Start from right of second number  
Binary representation of n = 1 0 1 0 
                             ^   ^     
Binary representation of m = 1 0 1 1     
                               ^   ^
Output  is                 = 1 0 1 1        

Input : n = 20, m = 7
Output : 5
Start from right of second number  
binary representation of n = 1 0 1 0 0
                           ^   ^
binary representation of m = 0 0 1 1 1
                         ^   ^   ^
Output  is                 = 0 0 1 0 1   

Подходить :-
1. Получить четное число бит n.
2. Получить набор нечетных битов числа m.
3. вернуть ИЛИ этого числа.

C ++

// Программа CPP для генерации числа с использованием
// альтернативные биты двух чисел.
#include <iostream>

using namespace std;

  
// установить четный бит числа n

int setevenbits(int n)

{

    int temp = n;

    int count = 0;

  

    // res для магазина 101010 .. номер

    int res = 0;

  

    // генерируем числовую форму 101010 .....

    // до временного размера

    for (temp = n; temp > 0; temp >>= 1) {

  

        // если бит четный, то генерируем

        // номер и или с рез

        if (count % 2 == 1)

            res |= (1 << count);

  

        count++;

    }

  

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

    return (n & res);

}

  
// установить нечетный бит числа m

int setoddbits(int m)

{

    int count = 0;

  

    // res для магазина 101010 .. номер

    int res = 0;

  

    // генерируем числовую форму 101010 ....

    // до временного размера

    for (int temp = m; temp > 0; temp >>= 1) {

  

        // если бит четный, то генерируем

        // номер и или с рез

        if (count % 2 == 0)

            res |= (1 << count);

  

        count++;

    }

  

    // возвращаем нечетное число битов

    return (m & res);

}

  

int getAlternateBits(int n, int m)

{

    // установить четный бит числа n

    int tempn = setevenbits(n);

  

    // установить нечетный бит числа m

    int tempm = setoddbits(m);

  

    // взять ИЛИ с этим номером

    return (tempn | tempm);

}

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

int main()

{

    int n = 10;

    int m = 11;

  

    // n = 1 0 1 0

    // ^ ^

    // m = 1 0 1 1

    // ^ ^

    // результат = 1 0 1 1

  

    cout << getAlternateBits(n, m);

  

    return 0; 

}

Джава

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

import java.io.*;

  

class GFG {

      

    // установить четный бит числа n

    static int setevenbits(int n)

    {

      

        int temp = n;

        int count = 0;

      

        // res для магазина 101010 .. номер

        int res = 0;

      

        // генерируем числовую форму 101010 .....

        // до временного размера

        for (temp = n; temp > 0; temp >>= 1) {

      

            // если бит четный, то генерируем

            // номер и или с рез

            if (count % 2 == 1)

                res |= (1 << count);

      

            count++;

        }

      

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

        return (n & res);

    }

  

    // установить нечетный бит числа m

    static int setoddbits(int m)

    {

        int count = 0;

      

        // res для магазина 101010 .. номер

        int res = 0;

      

        // генерируем числовую форму 101010 ....

        // до временного размера

        for (int temp = m; temp > 0; temp >>= 1)

        {

            // если бит четный, то генерируем

            // номер и или с рез

            if (count % 2 == 0)

                res |= (1 << count);

      

            count++;

        }

      

        // возвращаем нечетное число битов

        return (m & res);

    }

  

    static int getAlternateBits(int n, int m)

    {

        // установить четный бит числа n

        int tempn = setevenbits(n);

      

        // установить нечетный бит числа m

        int tempm = setoddbits(m);

      

        // взять ИЛИ с этим номером

        return (tempn | tempm);

    }

  

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

    public static void main (String[] args) 

    {

      

    int n = 10;

    int m = 11;

  

    // n = 1 0 1 0

    // ^ ^

    // m = 1 0 1 1

    // ^ ^

    // результат = 1 0 1 1

    System.out.println(getAlternateBits(n, m));

    }

}

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

python3

# Программа Python для генерации числа с использованием
# альтернативные биты двух чисел.

  
# установить четный бит числа n

def setevenbits(n):

    temp = n

    count = 0

  

    # Res для магазина 101010 .. номер

    res = 0

  

    # сгенерировать числовую форму 101010 .....

    # до временного размера

    while temp > 0:

  

        # если бит четный, то генерировать

        # номер и или с res

        if count % 2:

            res |= (1 << count)

  

        count += 1

        temp >>= 1

  

    # вернуть установленное четное число бит

    return (n & res)

  
# установить нечетный бит числа m

def setoddbits(m):

    temp = m

    count = 0

      

    # Res для магазина 101010 .. номер

    res = 0

      

    # сгенерировать числовую форму 101010 ....

    # до временного размера

    while temp > 0:

      

        # если бит четный, то генерировать

        # номер и или с res

        if not count % 2:

            res |= (1 << count)

      

        count += 1

        temp >>= 1

      

    # возвращаемое значение нечетного бита

    return (m & res)

  

def getAlternateBits(n, m):

    # установить четный бит числа n

    tempn = setevenbits(n)

  

    # установить нечетный бит числа m

    tempm = setoddbits(m)

  

    # возьмите ИЛИ с этим номером

    return (tempn | tempm)

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

n = 10

m = 11

  
# n = 1 0 1 0
# ^ ^
# m = 1 0 1 1
# ^ ^
# результат = 1 0 1 1

  

print(getAlternateBits(n, m))

  
# Этот код предоставлен Ансу Кумари.

C #

// C # Программа для генерации числа с использованием
// альтернативные биты двух чисел.

using System;

  

class GFG {

      

    // установить четный бит числа n

    static int setevenbits(int n)

    {

      

        int temp = n;

        int count = 0;

      

        // res для магазина 101010 .. номер

        int res = 0;

      

        // генерируем числовую форму 101010 .....

        // до временного размера

        for (temp = n; temp > 0; temp >>= 1) {

      

            // если бит четный, то генерируем

            // номер и или с рез

            if (count % 2 == 1)

                res |= (1 << count);

      

            count++;

        }

      

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

        return (n & res);

    }

  

    // установить нечетный бит числа m

    static int setoddbits(int m)

    {

        int count = 0;

      

        // res для магазина 101010 .. номер

        int res = 0;

      

        // генерируем числовую форму 101010 ....

        // до временного размера

        for (int temp = m; temp > 0; temp >>= 1)

        {

            // если бит четный, то генерируем

            // номер и или с рез

            if (count % 2 == 0)

                res |= (1 << count);

      

            count++;

        }

      

        // возвращаем нечетное число битов

        return (m & res);

    }

  

    static int getAlternateBits(int n, int m)

    {

        // установить четный бит числа n

        int tempn = setevenbits(n);

      

        // установить нечетный бит числа m

        int tempm = setoddbits(m);

      

        // взять ИЛИ с этим номером

        return (tempn | tempm);

    }

  

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

    public static void Main () 

    {

      

        int n = 10;

        int m = 11;

      

        // n = 1 0 1 0

        // ^ ^

        // m = 1 0 1 1

        // ^ ^

        // результат = 1 0 1 1

        Console.WriteLine(getAlternateBits(n, m));

    }

}

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

PHP

<?php
// Программа PHP для генерации числа с использованием
// альтернативные биты двух чисел.

  
// установить четный бит числа n

function setevenbits($n)

{

    $temp = $n;

    $count = 0;

  

    // res для магазина 101010 .. номер

    $res = 0;

  

    // генерируем числовую форму 101010 .....

    // до временного размера

    for ($temp = $n; $temp > 0; $temp >>= 1) 

    {

  

        // если бит четный, то генерируем

        // номер и или с рез

        if ($count % 2 == 1)

            $res |= (1 << $count);

  

        $count++;

    }

  

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

    return ($n & $res);

}

  
// установить нечетный бит числа m

function setoddbits($m)

{

    $count = 0;

  

    // res для магазина 101010 .. номер

    $res = 0;

  

    // генерируем числовую форму 101010 ....

    // до временного размера

    for ($temp = $m; $temp > 0; $temp >>= 1) 

    {

  

        // если бит четный, то генерируем

        // номер и или с рез

        if ($count % 2 == 0)

            $res |= (1 << $count);

  

        $count++;

    }

  

    // возвращаем нечетное число битов

    return ($m & $res);

}

  

function getAlternateBits($n, $m)

{

    // установить четный бит числа n

    $tempn = setevenbits($n);

  

    // установить нечетный бит числа m

    $tempm = setoddbits($m);

  

    // взять ИЛИ с этим номером

    return ($tempn | $tempm);

}

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

$n = 10;

$m = 11;

  
// n = 1 0 1 0
// ^ ^
// m = 1 0 1 1
// ^ ^
// результат = 1 0 1 1

  

echo getAlternateBits($n, $m);

  
// Этот код предоставлен mits
?>

Выход :

11

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

Альтернативные биты двух чисел для создания нового номера

0.00 (0%) 0 votes