C int转为二进制 再进行与操作

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

void toBin(int num,int arr[]);
void andOp(int aBin[],int bBin[]);

main(){
int a;
printf("input first\n");
scanf("%d",&a);

int b;
printf("input se\n");
scanf("%d",&b);

int aBin[8]={0,0,0,0,0,0,0,0};
int bBin[8]={0,0,0,0,0,0,0,0};

toBin(a,aBin);
toBin(b,bBin);

andOp(aBin,bBin);
int i=0;
for(;i<8;i++){
    printf("%d",bBin[i]);
}

}

void toBin(int num,int arr[]){
    int i=7;
    while(num/2!=0){
        arr[i]=num%2;
        //printf("%d",arr[i]);
        i--;
        num=num/2;
    }
    arr[i]=num%2;
    //printf("%d",arr[i]);
}

void andOp(int aBin[],int bBin[]){
    int i=0;
    for(;i<8;i++){
        if((aBin[i]+bBin[i])==2){
            bBin[i]=1;
        }else{
            bBin[i]=0;
        }
    }
    
}
原文地址:https://www.cnblogs.com/cart55free99/p/2957565.html