日目C言語(06):ビット演算-練習1

1097 ワード

一、概念
二、コード
#include 
void printBinay(int value);
int main()
{
#pragma 1.        ,      ,         
    /*
     %i, %o, %x
     0000 0000 0000 0000 0000 0000 0000 1001
     
     */
    int num = 9;
    printBinay(num);
    return 0;
}

void printBinay(int value)
{
    /*
           &
          1  &           
     
                                           0000 0000 0000 0000 0000 0000 0000 1001
    &0000 0000 0000 0000 0000 0000 0000 0001
     ----------------------------------------
     // 1. 9       31 ,      9        ,   9          1  ,       9    
     // 2. 9        30 ,     9      
     // 3.    ,  0  

       
     1.      1 &      
     2.          
     */
    
    // 1.           
    int offset = 31;
    // 2.         
    while (offset >=0) {
        int result = (value >> offset) & 1;
        printf("%i",result);
        // 3.                -1
        offset--;
        if ((offset+1) %4 == 0) {
            printf(" ");
        }
    }
    printf("
"); }