In the previous article, we have discussed Python Program to Toggle First and Last Bits of a Number

The task is to toggle all the bits of a given number except the first and last bits in python.

**Toggling: **

A toggling operation changes the value of a bit from 0 to 1 and from 1 to 0.

**Examples:**

**Example1:**

**Input:**

Given Number = 8

**Output:**

The Number after toggling all the bits of a given number{ 8 } except the first and last bits = 14

**Example2:**

**Input:**

Given Number = 15

**Output:**

The Number after toggling all the bits of a given number{ 15 } except the first and last bits = 9

- Python Program to Swap all Odd and Even Bits of a Number
- Python Program to Check whether kth Bit is Set or not
- Python Program to Find Position of Rightmost Set Bit

## Program to Toggle Bits of a Number Except First and Last bits in Python

Below are the ways to toggle all the bits of a given number except the first and last bits in python:

### Method #1: Using Right Shift (>>)Operator (Static Input)

**Approach:**

- Give the number as static input and store it in a variable.
- Pass the given number as an argument to the
**setallmidlebits**function. - Create a function to say
**setallmidlebits**which takes the given number as an argument. - Apply the
**or(|)**operator to the given number and given_numb >> 1(Right Shift) and store it in the same variable. - Apply the
**or(|)**operator to the given number and given_numb >> 2(Right Shift) and store it in the same variable. - Apply the
**or(|)**operator to the given number and given_numb >> 4(Right Shift) and store it in the same variable. - Apply the
**or(|)**operator to the given number and given_numb >> 8(Right Shift) and store it in the same variable. - Apply the
**or(|)**operator to the given number and given_numb >> 16(Right Shift) and store it in the same variable. - Right shift the given number by 1 and store it in another variable.
- Return the Xor value of the above result and 1.
- Pass the given number as an argument to the
**toglemidlebits**function. - Create a function to say
**toglemidlebits**which takes the given number as an argument and returns the number after toggling all the bits of a given number except the first and last bits. - Check if the given number is equal to 1 using the if conditional statement.
- If the statement is true, then return 1.
- Return the Xor result of the given number and setallmidlebits(gven_numb).
- Print the number after toggling all the bits of a given number except the first and last bits.
- The Exit of the Program.

**Below is the implementation:**

# Create a function to say setallmidlebits which takes the given number as an # argument. def setallmidlebits(gven_numb): # Apply the or(|) operator to the given number and given_numb >> 1(Right Shift) and # store it in the same variable. gven_numb = gven_numb | gven_numb >> 1 # Apply the or(|) operator to the given number and given_numb >> 2(Right Shift) and # store it in the same variable. gven_numb = gven_numb | gven_numb >> 2 # Apply the or(|) operator to the given number and given_numb >> 4(Right Shift) and # store it in the same variable. gven_numb = gven_numb | gven_numb >> 4 # Apply the or(|) operator to the given number and given_numb >> 8(Right Shift) and # store it in the same variable. gven_numb = gven_numb | gven_numb >> 8 # Apply the or(|) operator to the given number and given_numb >> 16(Right Shift) and # store it in the same variable. gven_numb = gven_numb | gven_numb >> 16 # Right shift the given number by 1 and store it in another variable. p = (gven_numb >> 1) # Return the Xor value of the above result and 1. return (p ^ 1) # Create a function to say toglemidlebits which takes the given number as an # argument and returns the number after toggling all the bits of a given number except the # first and last bits. def toglemidlebits(gven_numb): # Check if the given number is equal to 1 using the if conditional statement. if (gven_numb == 1): # If the statement is true, then return 1. return 1 # Return the Xor result of the given number and setallmidlebits(gven_numb). return gven_numb ^ setallmidlebits(gven_numb) # Give the number as static input and store it in a variable. gven_numb = 8 # Pass the given number as an argument to the setallmidlebits function. # Pass the given number as an argument to the toglemidlebits function. # Print the number after toggling all the bits of a given number except the # first and last bits. print("The Number after toggling all the bits of a given number{", gven_numb, "} except the first and last bits = ", toglemidlebits(gven_numb))

**Output:**

The Number after toggling all the bits of a given number{ 8 } except the first and last bits = 14

### Method #2: Using Right Shift (>>)Operator (User Input)

**Approach:**

- Give the number as user input using the int(input()) function and store it in a variable.
- Pass the given number as an argument to the
**setallmidlebits**function. - Create a function to say
**setallmidlebits**which takes the given number as an argument. - Apply the
**or(|)**operator to the given number and given_numb >> 1(Right Shift) and store it in the same variable. - Apply the
**or(|)**operator to the given number and given_numb >> 2(Right Shift) and store it in the same variable. - Apply the
**or(|)**operator to the given number and given_numb >> 4(Right Shift) and store it in the same variable. - Apply the
**or(|)**operator to the given number and given_numb >> 8(Right Shift) and store it in the same variable. - Apply the
**or(|)**operator to the given number and given_numb >> 16(Right Shift) and store it in the same variable. - Right shift the given number by 1 and store it in another variable.
- Return the Xor value of the above result and 1.
- Pass the given number as an argument to the
**toglemidlebits**function. - Create a function to say
**toglemidlebits**which takes the given number as an argument and returns the number after toggling all the bits of a given number except the first and last bits. - Check if the given number is equal to 1 using the if conditional statement.
- If the statement is true, then return 1.
- Return the Xor result of the given number and setallmidlebits(gven_numb).
- Print the number after toggling all the bits of a given number except the first and last bits.
- The Exit of the Program.

**Below is the implementation:**

# Create a function to say setallmidlebits which takes the given number as an # argument. def setallmidlebits(gven_numb): # Apply the or(|) operator to the given number and given_numb >> 1(Right Shift) and # store it in the same variable. gven_numb = gven_numb | gven_numb >> 1 # Apply the or(|) operator to the given number and given_numb >> 2(Right Shift) and # store it in the same variable. gven_numb = gven_numb | gven_numb >> 2 # Apply the or(|) operator to the given number and given_numb >> 4(Right Shift) and # store it in the same variable. gven_numb = gven_numb | gven_numb >> 4 # Apply the or(|) operator to the given number and given_numb >> 8(Right Shift) and # store it in the same variable. gven_numb = gven_numb | gven_numb >> 8 # Apply the or(|) operator to the given number and given_numb >> 16(Right Shift) and # store it in the same variable. gven_numb = gven_numb | gven_numb >> 16 # Right shift the given number by 1 and store it in another variable. p = (gven_numb >> 1) # Return the Xor value of the above result and 1. return (p ^ 1) # Create a function to say toglemidlebits which takes the given number as an # argument and returns the number after toggling all the bits of a given number except the # first and last bits. def toglemidlebits(gven_numb): # Check if the given number is equal to 1 using the if conditional statement. if (gven_numb == 1): # If the statement is true, then return 1. return 1 # Return the Xor result of the given number and setallmidlebits(gven_numb). return gven_numb ^ setallmidlebits(gven_numb) # Give the number as user input using the int(input()) function and store it in a variable. gven_numb = int(input("Enter some random number = ")) # Pass the given number as an argument to the setallmidlebits function. # Pass the given number as an argument to the toglemidlebits function. # Print the number after toggling all the bits of a given number except the # first and last bits. print("The Number after toggling all the bits of a given number{", gven_numb, "} except the first and last bits = ", toglemidlebits(gven_numb))

**Output:**

Enter some random number = 15 The Number after toggling all the bits of a given number{ 15 } except the first and last bits = 9

Find a comprehensive collection of Examples of Python Programs ranging from simple ones to complex ones to guide you throughout your coding journey.