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)