中华农历论坛知识讨论区历法知识 → [推荐]汉语编程中级教材第三章第三节《汉语编程中的运算方法》


  共有19281人关注过本帖树形打印

主题:[推荐]汉语编程中级教材第三章第三节《汉语编程中的运算方法》

帅哥哟,离线,有人找我吗?
秦汉昌
  11楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:业余侠客 帖子:372 积分:1447 威望:0 精华:0 注册:2008/12/20 18:10:00
  发帖心情 Post By:2008/12/27 18:52:00

三、  汉语编程中的逻辑运算

有了以上的逻辑学的基础知识,接下来我们讨论汉语程序设计语言的逻辑运算。在汉语编程中我们可以用定义词来建立命题。如在汉语编程编辑器中定义如下内容:

      1 

      0 

  35   

  32   

  32   

  35   

编辑完后保存为“C:\逻辑运算.chp”,然后打开汉语编程编译器装载该程序。装载完成后,可以在汉语编程系统下进行逻辑“与”操作。

35  32    与<回车>.

<回车>  0 

汉语编程逻辑运算与加、减、乘、除运算一样采用后缀表示法来表示。该例说明两个假命题相与的结果为假。

35  32    与<回车>.

<回车>  0 

结果说明一个假命题、一个真命题相与结果也为假。

35  32    与<回车>.

<回车>  1 

结果说明两个真命题相与其结果为真。


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
秦汉昌
  12楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:业余侠客 帖子:372 积分:1447 威望:0 精华:0 注册:2008/12/20 18:10:00
  发帖心情 Post By:2008/12/27 18:52:00

进行完“与”操作后,我们再利用刚才所编的程序来进行逻辑“或”运算。同样需要装载“逻辑运算.chp”这个程序,若刚才装载后还没有退出汉语编程系统,就不需要再装载了。

35  32    或<回车>.

<回车>  0 

结果说明两个假命题相或的结果为假。

35  32    或<回车>.

<回车>  1 

结果说明一真一假两个命题相或的结果为真。

35  32    或<回车>

<回车>    1 

结果说明两个真命题相或的结果为真。

进行完“与”和“或”的逻辑运算,我们再来看一下逻辑“非”的运算。同样在装载了“逻辑运算.chp”的情况下:

35    非<回车>.

<回车>    -1 

结果说明假命题经过“非”运算后,其结果为真。

32   非<回车>.

<回车>   -2 

结果说明真命题经过“非”运算后,结果为假。


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
秦汉昌
  13楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:业余侠客 帖子:372 积分:1447 威望:0 精华:0 注册:2008/12/20 18:10:00
  发帖心情 Post By:2008/12/27 18:52:00

到这里,大家可能会问,为什么对0进行“非“运算结果为-1,而对1进行“非“运算其结果为-2呢?

在经过上面一系列的操作后,大家应该知道,逻辑运算的操作也都是在数摞上进行的,操作前数摞上必须有参与逻辑运算的参数,操作后数摞上保留有逻辑运算的结果,在进行逻辑运算时,是按位进行运算的。如果数摞上的每一层都是一位的数,而不是32位的数,那么这时

1 非=0      0非=1

但是在汉语程序设计语言中数摞上的每一层数都是一个32位的数,所以在按位进行逻辑操作时,用1表示的逻辑真在数摞中只占用了一位,即:00000000000000000000000000000001,在进行“非”操作后,将32位的数“1”按位求反,结果就成为:11111111111111111111111111111110,这个数作为二进制补码的有符号数就显示为-2

因此,在汉语编程中为了使逻辑运算更为适用,就规定对于一个32位的数,0为逻辑假,而非0为逻辑真。对于一个标准的汉语编程系统给出的逻辑真则为-1,这样我们最将前面程序中定义的逻辑真改为:

     1  

这样在做上面的逻辑操作时,给出的逻辑真结果就是-1,而不是1。它保证了32位数中所有位都为1


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
总数 13 上一页 1 2

返回版面帖子列表

[推荐]汉语编程中级教材第三章第三节《汉语编程中的运算方法》








签名