本文概述
- C++
- Java
- Python3
- C#
- PHP
例子:
Input:n = 15, k = 1
Output: 14Input:n = 14, k = 1
Output: 14
The rightmost bit was already off, so no change.Input:n = 15, k = 2
Output: 13Input:n = 15, k = 3
Output: 11Input:n = 15, k = 4
Output: 7Input:n = 15, k>
= 5
Output: 15
这个想法是使用按位< < , &和?运算符。使用表达式” ?(1 < < (k – 1))” , 我们得到一个数字, 其中除第k个位外, 所有位均已设置。如果我们使用n对这个表达式进行按位&运算, 我们将得到一个数字, 除了第k个位数为0外, 该位数与n相同。
【如何关闭数字中的特定位()】以下是上述想法的实现。
C++
#include <
iostream>
using namespace std;
//Returns a number that has all bits same as n
//except the k'th bit which is made 0
int turnOffK( int n, int k)
{
//k must be greater than 0
if (k <
= 0) return n;
//Do &
of n with a number with all set bits except
//the k'th bit
return (n &
~(1 <
<
(k - 1)));
}//Driver program to test above function
int main()
{
int n = 15;
int k = 4;
cout <
<
turnOffK(n, k);
return 0;
}
Java
//Java program to turn off a particular bit in a number
import java.io.*;
class TurnOff
{
//Function to returns a number that has all bits same as n
//except the k'th bit which is made 0
static int turnOffK( int n, int k)
{
//k must be greater than 0
if (k <
= 0 )
return n;
//Do &
of n with a number with all set bits except
//the k'th bit
return (n &
~( 1 <
<
(k - 1 )));
}//Driver program
public static void main (String[] args)
{
int n = 15 ;
int k = 4 ;
System.out.println(turnOffK(n, k));
}
}
//Contributed by Pramod Kumar
Python3
# Returns a number that
# has all bits same as n
# except the k'th bit
# which is made 0def turnOffK(n, k):# k must be greater than 0
if (k <
= 0 ):
return n# Do &
of n with a number
# with all set bits except
# the k'th bit
return (n &
~( 1 <
<
(k - 1 )))# Driver code
n = 15
k = 4
print (turnOffK(n, k))# This code is contributed
# by Anant Agarwal.
C#
//C# program to turn off a
//particular bit in a number
using System;
class GFG
{//Function to returns a number
//that has all bits same as n
//except the k'th bit which is
//made 0
static int turnOffK( int n, int k)
{
//k must be greater than 0
if (k <
= 0)
return n;
//Do &
of n with a number
//with all set bits except
//the k'th bit
return (n &
~ (1 <
<
(k - 1)));
}//Driver Code
public static void Main ()
{
int n = 15;
int k = 4;
Console.Write(turnOffK(n, k));
}
}//This code is contributed by Nitin Mittal.
PHP
<
?php
//PHP program to turn off a
//particular bit in a number//Returns a number that has
//all bits same as n except
//the k'th bit which is made 0
function turnOffK( $n , $k )
{//k must be greater than 0
if ( $k <
= 0)
return $n ;
//Do &
of n with a number
//with all set bits except
//the k'th bit
return ( $n &
~(1 <
<
( $k - 1)));
}//Driver Code
$n = 15;
$k = 4;
echo turnOffK( $n , $k );
//This code is contributed by nitin mittal
?>
输出如下:
7
行使:编写一个函数turnOnK()将第k位打开。
本文作者:拉胡尔·贾恩(Rahul Jain)。如果发现任何不正确的地方, 或者想分享有关上述主题的更多信息, 请发表评论。
推荐阅读
- 如何使用Django Field Choices()
- 如何在Golang中修剪字节切片()
- 如何在C#中终止线程()
- 如何使用Java在Selenium WebDriver中截屏()
- 如何在一行中交换两个变量()
- 如何在Golang中分割字符串()
- e-3Podman容器管理和Cockpit管理Podman
- linux 配置本地光盘YUM源
- 第十七周