0 0

求一个逻辑运算结果5


如下所示, 用A,B,C这些子条件来表达结果isPass是这样的,
boolean  isPass = (A1 && B1) || (A2 && B2) || (A3 && B3);

那么用设boolean isNotPass = ! isPass;

怎么用那些A,B,C子条件来表达isNotPass呢?

"!(A1 && B1) && !(A2 && B2) && !(A3 && B3)"好像不对.

2009年3月06日 16:31

2个答案 按时间排序 按投票排序

0 0

采纳的答案

同楼上。楼主原本的"!(A1 && B1) && !(A2 && B2) && !(A3 && B3)"其实没问题。

不敢相信自己的计算就试试看相信自己的眼睛吧,呵呵。执行这段C#代码:

using System;
using System.Linq;

static class Program {
  static void Main(string[] args) {
    var booleanValues = new [] { true, false };
    var equal = !(from a1 in booleanValues
                  from a2 in booleanValues
                  from a3 in booleanValues
                  from b1 in booleanValues
                  from b2 in booleanValues
                  from b3 in booleanValues
                  select !((a1 && b1) || (a2 && b2) || (a3 && b3)) ==
                        (!(a1 && b1) && !(a2 && b2) && !(a3 && b3)))
                  .Contains(false);
    Console.WriteLine(equal); // true
  }
}

会验证6个变量组成的表达式是否总是同真假。我这边执行结果是true。我相信我的眼睛 ^ ^

要让它输出真值表也行:
using System;
using System.Linq;

static class Program {
  static void Main(string[] args) {
    var booleanValues = new [] { true, false };
    var result =  from a1 in booleanValues
                  from a2 in booleanValues
                  from a3 in booleanValues
                  from b1 in booleanValues
                  from b2 in booleanValues
                  from b3 in booleanValues
                  select string.Format(
                    "!(({0} && {3}) || ({1} && {4}) || ({2} && {5}))) == {6}",
                    a1, a2, a3, b1, b2, b3,
                    !((a1 && b1) || (a2 && b2) || (a3 && b3)));
    foreach (var s in result) {
      Console.WriteLine(s);
    }
  }
}

引用
!((True && True) || (True && True) || (True && True))) == False
!((True && True) || (True && True) || (True && False))) == False
!((True && True) || (True && False) || (True && True))) == False
!((True && True) || (True && False) || (True && False))) == False
!((True && False) || (True && True) || (True && True))) == False
!((True && False) || (True && True) || (True && False))) == False
!((True && False) || (True && False) || (True && True))) == False
!((True && False) || (True && False) || (True && False))) == True
!((True && True) || (True && True) || (False && True))) == False
!((True && True) || (True && True) || (False && False))) == False
!((True && True) || (True && False) || (False && True))) == False
!((True && True) || (True && False) || (False && False))) == False
!((True && False) || (True && True) || (False && True))) == False
!((True && False) || (True && True) || (False && False))) == False
!((True && False) || (True && False) || (False && True))) == True
!((True && False) || (True && False) || (False && False))) == True
!((True && True) || (False && True) || (True && True))) == False
!((True && True) || (False && True) || (True && False))) == False
!((True && True) || (False && False) || (True && True))) == False
!((True && True) || (False && False) || (True && False))) == False
!((True && False) || (False && True) || (True && True))) == False
!((True && False) || (False && True) || (True && False))) == True
!((True && False) || (False && False) || (True && True))) == False
!((True && False) || (False && False) || (True && False))) == True
!((True && True) || (False && True) || (False && True))) == False
!((True && True) || (False && True) || (False && False))) == False
!((True && True) || (False && False) || (False && True))) == False
!((True && True) || (False && False) || (False && False))) == False
!((True && False) || (False && True) || (False && True))) == True
!((True && False) || (False && True) || (False && False))) == True
!((True && False) || (False && False) || (False && True))) == True
!((True && False) || (False && False) || (False && False))) == True
!((False && True) || (True && True) || (True && True))) == False
!((False && True) || (True && True) || (True && False))) == False
!((False && True) || (True && False) || (True && True))) == False
!((False && True) || (True && False) || (True && False))) == True
!((False && False) || (True && True) || (True && True))) == False
!((False && False) || (True && True) || (True && False))) == False
!((False && False) || (True && False) || (True && True))) == False
!((False && False) || (True && False) || (True && False))) == True
!((False && True) || (True && True) || (False && True))) == False
!((False && True) || (True && True) || (False && False))) == False
!((False && True) || (True && False) || (False && True))) == True
!((False && True) || (True && False) || (False && False))) == True
!((False && False) || (True && True) || (False && True))) == False
!((False && False) || (True && True) || (False && False))) == False
!((False && False) || (True && False) || (False && True))) == True
!((False && False) || (True && False) || (False && False))) == True
!((False && True) || (False && True) || (True && True))) == False
!((False && True) || (False && True) || (True && False))) == True
!((False && True) || (False && False) || (True && True))) == False
!((False && True) || (False && False) || (True && False))) == True
!((False && False) || (False && True) || (True && True))) == False
!((False && False) || (False && True) || (True && False))) == True
!((False && False) || (False && False) || (True && True))) == False
!((False && False) || (False && False) || (True && False))) == True
!((False && True) || (False && True) || (False && True))) == True
!((False && True) || (False && True) || (False && False))) == True
!((False && True) || (False && False) || (False && True))) == True
!((False && True) || (False && False) || (False && False))) == True
!((False && False) || (False && True) || (False && True))) == True
!((False && False) || (False && True) || (False && False))) == True
!((False && False) || (False && False) || (False && True))) == True
!((False && False) || (False && False) || (False && False))) == True

2009年3月06日 18:04
0 0

de Morgan定理而已:

!((A1 && B1) || (A2 && B2))
== !(A1 && B1) && !(A2 && B2)
== (!A1 || !B1) && (!A2 || !B2)

问题经常出现在:

运算符结合优先级

调整顺序使得本来会被短路的选择支被计算了


2009年3月06日 17:33

相关推荐

    最新单片机仿真 用P0口显示逻辑与运算结果

    最新单片机仿真 用P0口显示逻辑与运算结果最新单片机仿真 用P0口显示逻辑与运算结果最新单片机仿真 用P0口显示逻辑与运算结果最新单片机仿真 用P0口显示逻辑与运算结果最新单片机仿真 用P0口显示逻辑与运算结果最新...

    二进制逻辑运算.pdf

    逻辑运算基于二进制数系统,其中0和1代表两种对立的状态,常用于表示真假、是与否、存在与不存在等逻辑关系。这些运算在硬件层面通过逻辑门(如与门、或门、非门和异或门)实现,而在软件层面则通过编程语言中的逻辑...

    能够实现逻辑运算(逻辑非、逻辑加、逻辑乘、逻辑异)、定点整数的单符号位补码加减运算、定点整数的原码一位乘法运算和浮点数的加减运算

    2. **逻辑加**:也称作OR运算,如果有任意一个输入为真,则结果为真;只有当所有输入都为假时,结果才为假。 3. **逻辑乘**:也称作AND运算,只有当所有输入都为真时,结果才为真;否则,结果为假。 4. **逻辑异**:...

    实验二 带进位控制8位算术逻辑运算实验.doc

    2. 自己设置几个数,在实验机上测试其运算结果。 在实验机上测试其运算结果可以帮助学生更好地了解算术逻辑运算的原理和实现方法。 本实验旨在让学生了解和掌握带进位控制8位算术逻辑运算的原理和实现方法,掌握...

    实验一 联结词的逻辑运算.rar

    1. **否定运算**:在命题逻辑中,否定运算符(¬)用于改变一个命题的真值。如果命题p为真,则¬p为假;如果p为假,则¬p为真。在C语言中,我们可以使用逻辑非运算符"!"来表示这一运算。例如,对于整型变量p,`!p`将...

    《计算机组成原理》实验报告---8位算术逻辑运算实验.docx

    在这个实验中,学生使用了74LS181芯片,这是一个8位的ALU,它可以执行并行的加法、减法、逻辑与、逻辑或、异或等操作。通过实验,学生可以掌握74LS181的组合功能,即如何根据输入的控制信号来决定执行哪种运算。 ...

    C语言13:用P0口显示逻辑与运算结果.rar

    以下是一个简单的程序框架,展示了如何实现这个功能: ```c #include <reg52.h> // 包含8051寄存器定义 // 定义两个要进行逻辑与运算的二进制数 unsigned char binary_num1 = 0b1010; // 10进制的10 unsigned char...

    计算机组成原理实验--算术逻辑运算实验

    4. 掌握运算器进行算术和逻辑运算工作原理及结果的输出。 三、实验仪器: 1. ZY15CompSys12BB 计算机组成原理及系统结构教学实验箱一台 2. 排线若干 四、实验原理: 1. 实验中所用的运算器按下图连接: 2. 用二...

    计算机组成原理,逻辑运算实验

    1. **掌握算术逻辑运算单元(ALU)的工作原理**:ALU是计算机中央处理器中的一个关键组成部分,负责执行基本的算术运算(如加法、减法等)和逻辑运算(如与、或、非等)。通过本次实验,学生可以了解ALU如何处理这些...

    「8位算术逻辑运算实验」.pdf

    2. **数据传输路径**:运算器的输出通过三态门74LS245连接到ALUOI插座,可以通过内部总线BUSD0~D7和任意一个插槽进行交互。输入端由两个74LS273锁存器提供,它们的输入端并联连接至AUBUS插座,用于接收外部数据。 3...

    单片机课程设计——用P0口显示逻辑与运算结果.zip

    在本项目中,“单片机课程设计——用P0口显示逻辑与运算结果.zip”是一个典型的基于AT89S52单片机的课程实践,旨在让学生深入理解单片机的C语言编程以及硬件接口的应用。AT89S52是一款广泛应用的8位微控制器,具有...

    计算机组成原理运算器实验—算术逻辑运算实验 (2).pdf

    实验中使用了两片74LS181芯片串联以形成8位的ALU,ALU的输出通过一个三态门(74LS245)与数据总线相连。三态门由ALU-R控制,只有在低电平时,ALU的结果才能被送到总线。数据输入端由锁存器DR1和DR2(74LS273实现)...

    基于Keil+51单片机用P0口显示逻辑与运算结果.rar

    基于Keil+51单片机用P0口显示逻辑与运算结果.rar基于Keil+51单片机用P0口显示逻辑与运算结果.rar基于Keil+51单片机用P0口显示逻辑与运算结果.rar基于Keil+51单片机用P0口显示逻辑与运算结果.rar基于Keil+51单片机用P...

    十六进制数逻辑运算

    十六进制数的与或非运算,逻辑运算。支持十六进制数组

    ALU算术逻辑运算 multisim实现

    总的来说,ALU的实现是一个综合运用逻辑设计、电路优化和高速运算策略的过程。理解ALU的工作原理及其优化技术对于计算机硬件设计者来说至关重要,因为它直接影响到计算机的性能和效率。通过不断的研究和创新,我们...

    单片机逻辑电路与逻辑运算

    2. 逻辑或运算(OR):只要有一个输入为真(1),输出即为真。只有当所有输入都为假(0)时,输出才为假。 3. 逻辑非运算(NOT):仅有一个输入,输出为输入的反转。如果输入为真(1),输出为假(0);反之亦然。 ...

    验证74LS181运算和逻辑功能计算机组成原理

    然而,在实验中,我们也遇到了问题,如熟悉度的问题,有时候总在调节进位的时候发现数值竟然一直保持一个状态不变。后来我们才发现,原来运算做的是逻辑运算。 本实验报告对计算机组成原理的知识点进行了详细的介绍...

Global site tag (gtag.js) - Google Analytics