[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]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 编辑 ]

  主要看你想用批处理来做什么:如果只是简单的文件处理的话,不会用到离散数学方面的知识;并且,批处理自带的数学运算命令很弱,也不适合用来做复杂的数学运算:比如不支持浮点运算,能够运算的范围仅限于-2^31~2^32之间(不知道64位机器上是否支持-2^63~2^64),不能支持sin、cos之类的三角函数……不支持的数学运算实在是太多了。

  总之一句话,如果不是做复杂的数学运算,学批处理根本不需要了解离散数学的知识。

  顺便说一句,你在上文中提到的那位 26933062 就是我们论坛鼎鼎有名的随风同志,即使他完全没有离散数学的背景知识,也丝毫不妨碍他成为批处理高手。
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

回复 1楼 的帖子

批处理本身的语法不需要过多的数学知识。
但是如果联系到某些应用的时候,需要根那些应用有关的数学知识。
偶的片面观

TOP

不就是几个逻辑运算符么,这也能跟离散数学扯上关系?按照这个逻辑,我想知道哪种语言或者脚本跟所谓的离散数学没有关系?

要不要把批处理跟盘古开天辟地、女娲炼石补天也联系联系?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

&&批处理在严格意义上来属于windows系统下的低级脚本语言,其之所以还被很多人热爱和使用,主要是因为:

   一、其入门门槛低:批处理学习者甚至可以没有任何高级语言基础(本人就是这样的),同时也不需要掌握太多的

基础理论知识,这其中更不要涉及楼主所说的离散数学等高级理论知识;

   二、其使用方便:用批处理编写的程序(姑且叫做程序)可以在任何一台装有windows系统的电脑上运行,并可以

根据系统的差别以及使用者的要求很方便地进行修改;

   三、其功能强大:当然这个强大是要打上引号的,批处理是有很多局限性的,如jm提到的不支持浮点运算、不支

持三角函数,但这丝毫不影响到我们平常用其进行系统优化、文件管理、文本编辑以及网络应用。一旦你进入了它

的世界,你就会发现原来它是那么的强大和神奇!

      四、其体积甚小:批处理编写的程序一般在1k到几百k之间,很少有达到一兆的,如果用小小的批来代替体积庞

大的软件,将能大大地节省系统资源(当然这一点对于现在的大容量硬盘来讲是显得微不足道了)。
***共同提高***

TOP

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

TOP

二进制、十进制、逻辑运算之类的,其实属于计算机基础的范畴,建议楼主找本计算机基础方面的书看看。当然也可以算作基本的数学知识(只是国内教材基本不讲,竞赛书上倒有,多数人也接触不到)

可惜我这一辈人(80后),高中时数学书才有简易逻辑,大学时才开的计算机基础课(讲了点微机的组成、数字的表示和字符集、DOS常用命令、win2000的使用、office2000的使用、html一点皮毛)
楼主估计也差不多。

再感慨下,自苏步青、华罗庚、陈景润等人之后,近年来很少听说国内数学有什么新成果,唉,数学知识需要更好的普及才行(从知识面上)
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

谁有批处理网络应用方面的学习资料 短消息摸我一下

楼上说到html  我想起上高中时候刚开始有网吧,
我正好弄个人主页的时候全是一点一点写html .
兴奋啊就因为网吧里路过的人都看不懂. 嘻嘻.

[ 本帖最后由 a590687 于 2010-1-20 19:16 编辑 ]

TOP

逻辑符号不应该算是离散数学吧?
在学习模拟电路的时候就出现了这些逻辑符号,那个时候还没有学习离散数学呢。

TOP

返回列表