Dado un número n y un valor k. Desde la derecha, establezca el bit k-ésimo en la representación binaria de n. La posición de LSB (o último bit) es 0, el penúltimo bit es 1 y así sucesivamente. Además, 0 <= k < x, donde x es el número de bits en la representación binaria de n.
Ejemplos:
Input : n = 10, k = 2 Output : 14 (10)10 = (1010)2 Now, set the 2nd bit from right. (14)10 = (1110)2 2nd bit has been set. Input : n = 15, k = 3 Output : 15 3rd bit of 15 is already set.
Para establecer cualquier bit usamos bit a bit OR | operador. Como ya sabemos bit a bit OR | El operador evalúa cada bit del resultado a 1 si alguno de los bits correspondientes del operando está establecido (1). Para establecer el k-ésimo bit de un número, necesitamos desplazarnos 1 k veces hacia su izquierda y luego realizar la operación OR bit a bit con el número y el resultado del desplazamiento a la izquierda realizado justo antes.
In general, (1 << k) | n.
C++
// C++ implementation to set the kth bit // of the given number #include <bits/stdc++.h> using namespace std; // function to set the kth bit int setKthBit(int n, int k) { // kth bit of n is being set by this operation return ((1 << k) | n); } // Driver program to test above int main() { int n = 10, k = 2; cout << "Kth bit set number = " << setKthBit(n, k); return 0; }
Java
// Java implementation to set the kth bit // of the given number class GFG { // function to set the kth bit static int setKthBit(int n, int k) { // kth bit of n is being set by this operation return ((1 << k) | n); } // Driver code public static void main(String arg[]) { int n = 10, k = 2; System.out.print("Kth bit set number = " + setKthBit(n, k)); } } // This code is contributed by Anant Agarwal.
Python3
# Python implementation # to set the kth bit # of the given number # function to set # the kth bit def setKthBit(n,k): # kth bit of n is being # set by this operation return ((1 << k) | n) # Driver code n = 10 k = 2 print("Kth bit set number = ", setKthBit(n, k)) # This code is contributed # by Anant Agarwal.
C#
// C# implementation to set the // kth bit of the given number using System; class GFG { // function to set the kth bit static int setKthBit(int n, int k) { // kth bit of n is being set // by this operation return ((1 << k) | n); } // Driver code public static void Main() { int n = 10, k = 2; Console.Write("Kth bit set number = " + setKthBit(n, k)); } } // This code is contributed by // Smitha Dinesh Semwal.
PHP
<?php // PHP implementation to // set the kth bit of // the given number // function to set // the kth bit function setKthBit($n, $k) { // kth bit of n is being // set by this operation return ((1 << $k) | $n); } // Driver Code $n = 10; $k = 2; echo "Kth bit set number = ", setKthBit($n, $k); // This code is contributed by m_kit ?>
Javascript
<script> // Javascript implementation to set the // kth bit of the given number // function to set the kth bit function setKthBit(n, k) { // kth bit of n is being set // by this operation return ((1 << k) | n); } let n = 10, k = 2; document.write("Kth bit set number = " + setKthBit(n, k)); // This code is contributed by rameshtravel07. </script>
Producción:
Kth bit set number = 14
Complejidad de tiempo: O(1)
Espacio auxiliar: O(1)
Este artículo es una contribución de Ayush Jauhari . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA