Open In App

CHAR_BIT in C

Last Updated : 27 May, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

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




// 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)


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments