Skip to main content

Featured

Merge Sort in C++

  Merge Sort in C++ Introduction Merge Sort is a popular sorting algorithm that follows the Divide and Conquer approach. It divides an array into smaller subarrays, recursively sorts those subarrays, and finally merges the sorted subarrays to produce a completely sorted array. In this tutorial, we will learn how to implement Merge Sort in C++ . The program divides the array into two halves using the mid index, recursively sorts both halves, and then combines them using the merge() function. Merge Sort has a time complexity of O(n log n) in the best, average, and worst cases. Table of Contents Algorithm C++ Program Input Sample Output Output Explanation Dry Run Flow of Execution Time Complexity Space Complexity Applications Key Points Interview Questions Frequently Asked Questions Keywords Conclusion Algorithm Start the program. Read the size of the array. Read the array elements from the user. Call the mer...

C Program to Toggle All Bits After the Most Significant Bit

C Program to Toggle All Bits After MSB

C Program to Toggle All Bits After the Most Significant Bit

/* * Joseph is learning digital logic subject which will be for his next semester. * He usually tries to solve unit assignment problems before the lecture. * Today he got one tricky question. The problem statement is “A positive integer has been * given as an input. Convert decimal value to binary representation. * Toggle all bits of it after the most significant bit including the most significant bit. * Print the positive integer value after toggling all bits”. Constrains- 1<=N<=100 Example 1: Input : 10 -> Integer Output : 5 -> result- Integer Explanation: Binary representation of 10 is 1010. After toggling the bits(1010), will get 0101 which represents “5”. Hence output will print “5”.*/

A positive integer is given as input. Convert the decimal value to binary, toggle all bits after the most significant bit (including the MSB), and print the resulting positive integer.


#include <stdio.h>

int main()
{
    int n, temp;
    int result = 0;
    int place = 1;

    printf("Enter the value: ");
    scanf("%d", &n);

    temp = n;

    while (temp > 0)
    {
        int bit = temp & 1;

        // Toggle bit
        bit = bit ^ 1;

        result += bit * place;

        place = place << 1;
        temp = temp >> 1;
    }

    printf("Result = %d\n", result);

    return 0;
}
  

๐Ÿ“˜ Explanation:

  • The input number is processed bit by bit using bitwise operators.
  • temp & 1 extracts the last bit of the number.
  • bit ^ 1 toggles the bit (0 → 1, 1 → 0).
  • The toggled bit is added to the result using positional value (place).
  • The number is right-shifted to process the next bit.

This continues until all bits up to the most significant bit are toggled.

๐Ÿงพ Sample Output:

Enter the value: 10
Result = 5
  

๐Ÿ”‘ Keywords:

C bit manipulation program, toggle bits in C, decimal to binary conversion, bitwise operators in C, output based C programs

๐Ÿ“Œ Hashtags:

#CProgramming #BitManipulation #DigitalLogic #OutputQuestions #Programming #1printf

๐Ÿ” Search Description:

Learn how to toggle all bits of a number after the most significant bit using bitwise operators in C. This program includes explanation, sample output, and a dark-themed layout.

Comments

Popular Posts

๐ŸŒ™