body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2px 0 2px 0;} th{border: 1px solid gray; padding: 4px; background-color: #DDD;} td{border: 1px solid gray; padding: 4px;} tr:nth-child(2n){background-color: #f8f8f8;}
FORTH 算术运算——计算器格式
词汇表 栈标示法
+ (n1 n2 - sum) //sum 加 |
- (n1 n2 - diff) //differ 减 |
* (n1 n2 - prod) //product 乘 |
/ (n1 n2 - quot) //quotient 除 |
用上面介绍的运算符运算和利用 . 来打印结果,不能使结果不在(-32768—32767)之间。不然会有意想不到的错误。这个范围叫做“带符号单字长数”。
eg: 4+(17*12) 17 12 * 4 + . return
过程如下:
FORTH的算术运算——定义格式
1码 = 36英寸; 1英尺 = 12英寸;
: YARDS 36 * ; | : YARD YARDS ; |
: FEET 12 * ; | : FOOT FEET ; |
: INCHES ; | : INCHE INCHES ; |
一个定义中可以包含多个运算符;
类似这种5个加号“+”也可以定义为一个词; eg: : 5#SUM + + + + + ;
表达式(a+b)*c 的后缀表达式 c a b + *
forth 定义: : SOLUTION + * ; 使用: c a b SOULTION
//上面的定义没有写弹栈显示结果,运行完后要查看结果必须再运行 .
除法运算
词 / 的用法和高级程序设计语言一样
/MOD 上面的栈标示法显示 最右边的是商 倒数第二项是余数 ;说明进栈是先余数进栈然后才是商,出栈最先出来的是商,然后出来的才是余数。