Open In App

CHAR_BIT in C

CHAR_BIT : It is the number of bits in char. These days, almost all architectures use 8 bits per byte (But it is not the case always, some older machines used to have 7-bit byte). It can be found in Let us see an application of it. Suppose we wish to print byte by byte representation of an integer. 

Examples :



Input  : 4
Output : 00000000 00000000 00000000 00000100

Input  : 12
Output : 00000000 00000000 00000000 00001100 




// CPP program to print byte by byte presentation
#include <bits/stdc++.h>
using namespace std;
 
// function in which number and initially 0 is passed
void printInBinary(int num)
{
    int n = CHAR_BIT*sizeof(num);
    stack<bool> s;
    for (int i=1; i<=n; i++)
    {
        s.push(num%2);
        num = num/2;
    }    
    for (int i=1; i<=n; i++)
    {
        cout << s.top();
        s.pop();
         
        // Put a space after every byte.
        if (i % CHAR_BIT == 0)
        cout << " ";
    }
}
 
int main()
{
    int num = 12;
    printInBinary(num);
    return 0;
}

Output :

00000000 00000000 00000000 00001100 

Time Complexity : O(32)



Auxiliary Space : O(32)

Article Tags :