# 如何关闭数字中的特定位？

## 本文概述

Input:  n = 15, k = 1
Output: 14

Input:  n = 14, k = 1
Output: 14
The rightmost bit was already off, so no change.

Input:  n = 15, k = 2
Output: 13

Input:  n = 15, k = 3
Output: 11

Input:  n = 15, k = 4
Output: 7

Input:  n = 15, k>= 5
Output: 15

## 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

def 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
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

• 回顶