Open In App

CHAR_BIT in C

Last Updated : 27 May, 2022
Comments
Improve
Suggest changes
Like Article
Like
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)


Next Article
Article Tags :

Similar Reads