把一个int()或者byte(字节)以二进制的形式打印出来



整数以二进制的形式打印

1.使用stl

#include <iostream>
#include <bitset>
#include <string>
 
void printBinary(int n) {
    std::bitset<32> bits(n);
    for (int i = bits.size() - 1; i >= 0; --i) {
        std::cout << bits[i];
    }
    std::cout << std::endl;
}
 
int main() {
    printBinary(10);
    printBinary(-10);
    printBinary(23);
     
    return 0;
}
2.
#include <stdio.h>
#include <stdlib.h>
 
int  main( void )
{
     char  buffer[33];
     int  a = 0x55555555;
 
     itoa(a, buffer, 2);
     printf ( "%s\n" , buffer);
 
     return  0;
}


byte以二进制形式打印

typedef  unsigned  char  BYTE ;
 
void  print_binary( BYTE  byte)
{
         int  i;
         for (i = 7; i >= 0; --i)
         {
                 printf ( "%d" , (byte >> i) & 0x01);
         }
}
 
int  main( void )
{
         BYTE  a = 0xAA;
         print_binary(a);
         putchar ( '\n' );
         return  0;
}






http://bbs.csdn.net/topics/220009076

你可能感兴趣的:(把一个int()或者byte(字节)以二进制的形式打印出来)