The follwing code snippet is hosted on Github Gist.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <stdio.h> | |
/*本程序用来代替手工推真值表的冗繁工作*/ | |
/*本程序在C-FREE 5 IDE环境下编译通过*/ | |
int main(void) | |
{ | |
unsigned long A,B,C,D,E,F; | |
A=0x0000FFFF;//00000000000000001111111111111111 | |
B=0x00FF00FF;//00000000111111110000000011111111 | |
C=0x0F0F0F0F;//00001111000011110000111100001111 | |
D=0x33333333;//00110011001100110011001100110011 | |
E=0x55555555;//01010101010101010101010101010101 | |
/*在这里你可以定制你需要的逻辑表达式*/ | |
/* 这里计算F(A,B,C,D,E)=(A'+B'*C*D)*(B'+C'+D*E') */ | |
F=(~A|~B&C&D)&(~B|~C|D&~E); | |
printf("%x\n",F); | |
return 0; | |
} |
在程序中,使用到了几个逻辑算符,取反INVERT『~』、逻辑与AND『&』、逻辑或OR『|』,它们跟 非『!』、逻辑与『&&』、逻辑或『||』的区别是,前者是对二进制操作数的每一位进行操作,而后者则是把操作数当作一个整体进行运算。
如果你如要更多或者更少的变量,或者你需要计算其他的表达式,简单地按照这个模板进行更改即可,这并不困难~
之所以选择C-FREE编程环境,是因为他比Turbo C++或者Borland C要友好的多,而且是免费的。如果你对编程环境|编译器了解不多,那建议你使用C-FREE。
之所以选择C-FREE编程环境,是因为他比Turbo C++或者Borland C要友好的多,而且是免费的。如果你对编程环境|编译器了解不多,那建议你使用C-FREE。
that great
回复删除