[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] 学习批处理需要了解离散数学的哪些逻辑方面的知识?

我知道学习批处理要非常好的逻辑方面的能力,得有初步的逻辑符号的概念了解,但我不清楚具体应该看哪些,像只无头苍蝇似地乱转只会浪费我的时间,所以请论坛里的大虾们指引指引,谢谢。
    不要跟我说不需要,我早就在论坛里面看过了namejm的帖子:中国DOS联盟批处理室经典帖子合集2008A出处:http://www.bathome.net/thread-3527-1-1.html。那里面清清楚楚的说了需要!下面是我在帖子里面的附件看到的一片回复:

====================================================================================
作者: plp626     时间: 2008-4-19 14:12
逻辑 "异", "或", "与": "^", "|", "&"
注意在批处理中或命令行下要在运算符前加上^
这里的:                ^            |             &    对应于
离散数学上的: 异或⊕     析取∨     合取∧
规则: 合取∧(有0则0)  析取∨ (有1则1) 异或⊕ (同0反1)

我这里解释下规则: 合取∧(有0则0)  析取∨ (有1则1) 异或⊕ (同0反1)

只说逻辑或|(吸取),其他类似

逻辑或是按位(转换为2进制数)吸取---有1则1,无1则0

比如12的二进制数为1100
6的二进制数110

现在对他们做逻辑或|(吸取运算:有1则1,无1则0)
首先对齐位数,不够的前面补0
1100
0110
-------
1110
--------------------------------------------------------------------------------------------------------------------------------
作者: 26933062     时间: 2008-4-19 14:33
非常感谢各位的热心解答。
看了 plp626 兄的这一句:吸取---有1则1,无1则0
是否可以这样理解:
set /a w="(n|m)"   此句中,n或m 只要有一个是1,那么结果就是1,否则结果就是0 ?
n和m的位数必须是一样多的么?
------------------------------------------------------------------------------------------------------------------------------------
作者: plp626     时间: 2008-4-19 16:51
不对,

你先把n,m转化为二进制数,这个不用我多说了吧,

有1则1,无1则0是对应位上 的运算.两个数位数不等时,少的前补0,

6的2进制数为110是一个3位二进制数,
12的二进制数为1100是一个4位二进制数,
怎么办,其实110就是0110,也是00110,因为这些数转化为10进制数都是6,
所以6|12--->0110∨1100=1110
0 1 1 0
1 1 0 0
------------∨(对应位上有1则1,无1则0)
1 1 1 0
这个1110是个2进制数,计算机得转化为十进制数告诉你
1110转为进制数为就是14,所以:
set/a w="6|12"
w就是14
====================================================================================

这是里面的原话,里面确确实实是申明了需要离散数学的逻辑知识,我希望各位能指引一下,再谢。

[ 本帖最后由 cao 于 2010-1-20 18:39 编辑 ]

首先谢谢你们的回复,
但是我要说的是我只是要了解一下离散数学的逻辑符号方面的知识,这只是了解,我没说要具体学也没有说他跟批处理之间存在某种必然联系。之所以问这个问题,完全是想搞清楚每一个逻辑符号的具体运算。
再说我觉得那个回复里面的plp626这么说肯定有他的道理,况且批里面还很有一些逻辑符号的运用,如果连最基本的逻辑方面的问题都搞不清楚,那windows自带的帮助我还怎么看?逻辑符号的使用还怎么能正确呢?
再次感谢你们的回复,谢谢!!

TOP

返回列表