三值逻辑小解

虽然已经学了一年多了,但是看到《程序员的数学》第二章后感想又有很多,就写个读后 小感吧!

1.带条件的逻辑与(&&)

逻辑与(&&)定义  :  (表格形式)



可以看出:

1).  A 为 true 时 , B 的值就为 A && B 的值。

2).  A 为 false 时,不用看 B ,A && B 的值为 false 。

3).  A 为 undefined 时,计算机不进行任何处理,因此不用 看 A 和 B ,A && B 的值 为 undefined。

代码解释:

代码块1

if(A && B)
{
    ……
}

代码块 2

if(A)
{
    if(B)
    {
        
    }
}

代码块1 和 代码块2 是等价的,都可看做是逻辑与的程序表达,

同时 代码块 2 也可加深 对     带条件的逻辑与   的理解。。

————————————————————

C++代码测试:

A 为 true 时:


    bool A,B;
    A = true;
    //B = false;
    if(A&&B)
        cout<<"Yes"<<endl;
    else
        cout<<"No"<<endl;
    //  输出 结果 为 Yes

A 为 false 时:

    bool A,B;
    A = false;
    //B = false;
    if(A&&B)
        cout<<"Yes"<<endl;
    else
        cout<<"No"<<endl;
    //  输出 结果 为 No

A 为undefined 时,有点小问题,暂且先不上代码 。


2. 带条件的逻辑或 (||)

逻辑或(||)定义  :  (表格形式)




可以看出:

1).  A 为 true 时 , A|| B 的值必定为 true。

2).  A 为 false 时,A || B 的值为 B 的值。

3).  A 为 undefined 时,计算机不进行任何处理,因此不用 看 A 和 B ,A && B 的值 为 undefined。

代码解释:

代码块1

if(A || B)
{
    ……
}

代码块 2

if(A)
{
}
else
{
    if(B)
    {
    }
}

同逻辑与一样, 这两个代码块也是相同的。。

————————————————————————

C++代码测试:

A 为 true 时

    bool A,B;
    A = true;
    //B = false;
    if(A||B)
        cout<<"Yes"<<endl;
    else
        cout<<"No"<<endl;
    //  输出 结果 为 Yes

A 为 false 且B 为 true

    bool A,B;
    A = false;
    B = true;
    if(A||B)
        cout<<"Yes"<<endl;
    else
        cout<<"No"<<endl;
    //  输出 结果 为 Yes

A 为 false 且 B 为 false 时

    bool A,B;
    A = false;
    B = false;
    if(A||B)
        cout<<"Yes"<<endl;
    else
        cout<<"No"<<endl;
    //  输出 结果 为 No

————————————————

3. 三值逻辑中的否定 (!)


表格定义:


不包含 undefined 时,!A = A的逻辑非运算,
A为 undefined 时,B也为undefined。
否定较为简单,就不再写代码了。。


————————————————————————

最后加一句《程序员的数学》第二章结束语吧。。

if语句将将世界分为条件成立的世界和条件不成立的世界!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值