/*
有一道题目是这样的: F = ( AB + ~A~B ) + ( CD + ~C~D ) = 1 //~代表非,~A~B即代表A非与B非
A、B、C、D都只能是0或1。
求编程列出ABCD的值组合,用真值表列出。
*/
#include <stdio.h>
#define A(i) ((i&1) != 0)
#define B(i) ((i&2) != 0)
#define C(i) ((i&4) != 0)
#define D(i) ((i&8) != 0)
int validate(int i);
void print( int i );
int main(void) {
int i = 0;
for(;i<16;++i)
if(validate(i))
print(i);
return 0;
}
int validate(int i) {
return ((A(i)&&B(i) || !A(i)&&!B(i)) || ( C(i)&&D(i) || !C(i)&&!D(i) ));
}
void print( int i ) {
printf( "A:%d, B:%d, C:%d, D:%d \n", A(i), B(i), C(i), D(i) );
}
|