![](https://i-blog.csdnimg.cn/blog_migrate/35acee33ce826065eed699e605f289a2.png)
这个词代表了指导宇宙和所有生命的因果定律。 这是一个很小的词,它本身不执行任何操作,但完全由其上下文定义。 没有两个单词比IF单词具有更多的力量。
如果唐纳德·特朗普按下办公桌上的红色大按钮,就会发射核导弹。 如果您犯下谋杀罪,您将入狱。 如果您的尿液中有糖,您(可能)患有糖尿病。 如果没有钱,就破产。 如果选择红色药丸,则显示矩阵。 如果您喜欢阅读本文,则将喜欢并在社交媒体上分享。 :)
IF被用于语言,数学,科学,法律,商业,健康,金融,政治,体育甚至人类情感的各个方面。 我认为IF只是一个两个字母的单词的原因是因为我们使用了太多。
我们的父母从小就教会我们因果的普遍规律:如果您吃了西兰花,就可以吃冰淇淋。 甚至野生动物也本能地知道原因和结果:如果看到掠食者,那就逃跑。
在设计数字系统和开发软件20年之后,我是在计算机编程中使用IF的大师。 但是,任何人都可以成为IF功能的所有方面的专家,而无需成为软件编码者,这是很容易的。
![](https://i-blog.csdnimg.cn/blog_migrate/5d412a88f3add178de4a20de47d922a1.png)
在本文中,我将使您成为世界上最强大的两个字母的大师。 我们将自下而上,从布尔代数到电子学,再到低级编程,再到高级编程,再到软件建模,再到Minecraft,甚至是人际关系,探索各种形式的IF。
二进制数学
在大学学习的初期,我正在学习电气工程,并参加了大学的第一门数字系统课程。 前一天晚上,当讲师进入教室寻找大多数大学演讲之前学生的混乱时,我仍在从校园聚会的宿醉中恢复过来。
他站在教室的最前面,耐心地等待着我们开始关注,这花了一段时间。但是一旦沉默,他又拖延了一些,只是看着我们,然后以史诗般的方式平静地开始了我们的学期。我永远不会忘记的明确声明:
“一开始什么都没有,有什么。”
然后,他继续用粉笔在黑板上写下数字1和0,并告诉全班,这两个数字是我们整个学期都将要学习的。
而且他不是在开玩笑,我们整个学期都在学习数字系统和1和0的二进制逻辑,这对他们来说远远超出了我们的预期。 在二进制数字系统中,只有两个数字,一和零,对与错,是所有数字的基础。
最基本的逻辑功能是NOT,AND和OR门。
- 如果某项为假,则它不是正确的。
- 如果某个或另一个值是TRUE,则结果为TRUE。
- 如果某个AND另一个值是TRUE,则结果为TRUE。
这是具有3个最基本的逻辑门符号和真值表的图。
![](https://i-blog.csdnimg.cn/blog_migrate/587b685605a0b0eef8b135c9f4bfe602.gif)
使用演绎推理,可以从逻辑构造算法中频。
- 因为TRUE和TRUE等于TRUE,所以使用TRUE和AND可以测试未知值是否为TRUE。
- 因为FALSE OR TRUE等于TRUE,所以使用FALSE和OR可以测试未知值TRUE。
我承认我在处于宿醉状态的上课期间遭受了痛苦,但是,信息的显示方式如此简单,以至于我设法做到了。 实际上,感觉就像我已经知道了所有这些,并且我做到了,因为所有人都知道,这是我们基因组成的一部分。
布尔代数是因果关系的普遍定律,用一和零的数学表示。 从本质上讲,所有软件程序都是决策树,它们是深度嵌套的IF语句的结果。
电子逻辑
![](https://i-blog.csdnimg.cn/blog_migrate/c32c724e8563ab889c24f404812055ef.png)
在电子产品中,电阻晶体管逻辑用于在直流应用中构建逻辑门。 通常,0表示零,而5表示真。
晶体管具有一些物理特性,当您在(NPN)晶体管的基极上施加足够高的正电压时,晶体管将允许电流从集电极流向发射极。 电阻具有物理特性,当电流流过电阻时会引起电压降(欧姆定律)。
这是一个与门的电路图示例。
![](https://i-blog.csdnimg.cn/blog_migrate/b9a2e7e049ddecb8c2182068fb936ef3.png)
电子和半导体以及电阻器-晶体管逻辑的详细理论以及它们的工作方式是非常大量的信息,在此不予介绍。
电子算法
通过组合许多电子逻辑门,可以构建数学功能,例如加法,减法,乘法和除法。
算法逻辑单元(ALU)是电子逻辑门的复杂结构,可提供软件程序使用的频繁使用的计算。
所有类型的计算机和设备中都存在的每个中央处理单元(CPU)都包含一个ALU,以提供对在CPU上执行的软件程序公开的算法的集合。
CPU还是逻辑门的大型网络,但其目的是在内部组件(例如ALU)和外部组件(例如硬盘驱动器和随机存取存储器(RAM))之间处理指令和移动数据。
![](https://i-blog.csdnimg.cn/blog_migrate/3498c34522c5ff19465696c50785068f.png)
CPU和用于控制它们的软件程序是为所有计算机软件和网络提供动力的电子基础。
低级编程
在编程中,IF语句分为三部分:
- EXPRESSION(确定下一步操作的测试)
- THEN(当EXPRESSION为TRUE时该怎么办)
- ELSE(当EXPRESSION为FALSE时的结果)。
注意,ELSE是可选的,因为结果也可能是什么也不做。
在CPU内的机器语言中,它全为1和0,不适合人类直接使用,因此在此不做介绍,而是跳转到适合人类的最低编程级别,即汇编。
![](https://i-blog.csdnimg.cn/blog_migrate/d4d31c3829fa8635075097c7e83b1be8.png)
使用简单的Microchip 8位PIC16F84微控制器的汇编指令集,IF如下所示:
1: BTFSS FLAGS, 3
2: BSF PORTB, 0
3: BCF PORTB, 0
普通英语的等效含义是:如果设置了FLAGS寄存器的位3,则将PORTB的位0设置为1,否则将PORT B的位0清除。
- BTFSS =位测试文件(寄存器,位)跳过(IF)设置
- FLAGS = RAM存储器1字节地址的名称
- BSF =位设置文件(寄存器,位)
- PORT B =连接到芯片输出端口(引脚)的寄存器,用于为外部电子组件(例如LED)供电或与其通信。
这3条指令检查名为FLAGS的寄存器中的第三位,以查看其是否为TRUE。 如果为真,则将芯片B端口的输出引脚0设置为5V,否则将其设置为0V。 如果将LED连接到输出引脚,则会根据标志的值来打开或关闭LED。
CPU使用它们在持久性存储器中的位置逐个处理每个指令,在这个(假设的)示例RAM存储器位置1-3中-地址1处的指令包含IF和EXPRESSION,地址2处的指令包含然后,地址3处的指令包含ELSE。
汇编直接类似于机器代码,并且需要详细了解CPU的工作方式。 读写困难,容易出错,因此,随着时间的流逝,高级编程语言不断发展,使人们更易于使用。
高级编程
高级编程语言旨在使人类的编程更加容易。 人工代码在发送到CPU之前会被编译成机器代码。
![](https://i-blog.csdnimg.cn/blog_migrate/4329818259fd8d868b483397028b5415.png)
在Java,JavaScript,C / C ++ / C#中,IF操作如下所示:
if (someValue === true)
doSomething()
else
doSomethingElse()
即使您以前从未看过计算机代码,也比汇编容易理解。 普通英语的等效含义是:如果某个值是正确的,则执行某些操作,否则执行其他操作。
软件建模
软件建模是软件应用程序的设计。 统一建模语言(UMLTM)是用于设计软件和过程的广泛使用的国际图表标准。
UML活动图(又名流程图)包括决策节点,这些决策节点在视觉上将菱形表示为菱形(如下所示),具有一个输入和两个或多个输出。
![](https://i-blog.csdnimg.cn/blog_migrate/333ade2eab30e7f70d1dbe1abbd20b88.png)
电脑游戏
在流行的计算机游戏《我的世界》中,玩家可以在虚拟世界中使用方块建造IF,也可以使用红石建造大门。
![](https://i-blog.csdnimg.cn/blog_migrate/54610bf1f29619a23e419e408cf851c5.png)
Redstone使Minecraft内的自动化成为可能。 它可用于控制活塞,门和灯,并广泛用于自动耕作,陷阱,控制铁路以及控制基地的各个方面。
红石会根据放置在其上的块的位置更改导电行为。 有一种简单但并非总是直观的方式,即使用Redstone进行信号传输。 这是一个视频,我尝试在Minecraft中使用Redstone解释二进制逻辑的基础。
![](https://i-blog.csdnimg.cn/blog_migrate/1144f2cc775e04a74beae4ca816978e7.png)
人际关系
在业务关系中使用的人类语言中,IF通常表示为做为协议一部分内容的条件。 如果您每月给我$ 1000,就可以租公寓。
![](https://i-blog.csdnimg.cn/blog_migrate/829b004454a034cc853ad494f4b9640b.png)
在个人关系中经常可以找到中频。 如果你今晚做饭,我会洗碗。 如果您爱我,您将会……嗯,嗯……也许最好从您的个人经历中汲取灵感。
到目前为止,一切都很好。 这足以涵盖经典中频背后的所有实用理论。 如果就这么简单,那么您现在就可以停止阅读...
嵌套IF
重要的是要注意,经典的IF编程语句仅执行一次测试来确定以下两个结果之一:THEN(当EXPRESSION为TRUE时该怎么办)和ELSE(当EXPRESSION为FALSE时该怎么办)。
但是,实际上,单个IF通常不足以解决复杂的问题,可能需要多个嵌套和/或顺序的IF才能确定结果或流程。 在高级计算机语言中,IF操作还具有IF的某些高级形式,例如SWITCH和BRANCH。
SWITCH操作是IF-ELSE链,其中包含对数字和字符串等文字值的测试,而BRANCH操作是IF-ELSE链,其中包含针对多个表达式的真实性测试。
![](https://i-blog.csdnimg.cn/blog_migrate/99d57ab22fe370863f389f2b663bb258.png)
经过多年的软件开发,我得出的结论是BRANCH是最有用且通用的条件逻辑模式。 原因是BRANCH支持文字值和表达式,并且可以具有两个以上的结果,但仍可以充当简单的IF和SWITCH。
![](https://i-blog.csdnimg.cn/blog_migrate/49cd345338d029177f758fbcc11f2204.png)
一旦了解了BRANCH的工作原理,您将很快意识到如何构造任何决策树。 由于其实用性,BRANCH被选择为简单IF作为拖放逻辑设计语言的核心组件。
![](https://i-blog.csdnimg.cn/blog_migrate/13c3c2c19300c0d98e689e8ad7f103f9.png)
IF是世界上最强大的词,BRANCH是其最普遍的模式,它本身除了表示条件存在以外,没有其他含义。 没有表达和文字,就没有意义。
IF这个词的功能是学科领域知识的逻辑和嵌套,而强大的能力则赋予了很大的责任。 如果逻辑错误,则结果错误。
在全球化,标准化,监管和自动化的当今时代,知识正在变得统一,社会中的许多专业角色(例如律师,会计师,医生和财务顾问)将被由IF和另一台机器提供动力的机器部分或完全取代。强大的两个字母的缩写AI(人工智能)。
如果您是IF的大师,并且如果您是任何结构化知识领域的专家,那么您应该考虑自动化您的知识,否则,来自大型跨国公司的AI可能会接手您的工作。
专家框 是一个逻辑驱动的知识自动化平台,专门为知识工作者和业务流程自动化而设计。 免费注册并使用您的IF知识来自动化,货币化和共享您的知识。
本文最初发布在ExpertBox.com上
From: https://hackernoon.com/the-most-powerful-two-letter-word-in-the-world-ee43545482a9