词条 | 数字数据 |
释义 | 在数据通信中,数字数据也称为数字量,相对于模拟量而言,指的是取值范围是离散的变量或者数值. 1 定义数字数据数字数据项用PICTURE子句定义。数据描述中的每个9代表一个十进制位。 可以出现的特殊含义字符有: P指示前导0和尾部0 S指示符号,正号或负号 V隐含的小数点 2 显示数字数据为了让数字数据在显示和打印的时候更容易阅读,可以使用编辑标志(如:小数点,逗号,美元符号和借方符号贷方符号)格式化数字数据项。 例如,在下面的代码中Edited-price就是编辑的数字数据项: 05 Price Pic 9(5)v99. 05 Edited-price Pic $zz,zz9.99. . . . Move Price To Edited-price Display Edited-price Move Edited-price to Price Display Price 3 控制数字数据的存储COBOL程序中的数字数据可以以下格式存储: 外部十进制(USAGE DISPLAY) 外部浮点型(USAGE DISPLAY) 内部十进制(USAGE PACKED-DECIMAL) 二进制(USAGE BINARY) 本地二进制(USAGE COMP-5) 内部浮点型(USAGE COMP-1, USAGE COMP-2) COMP和COMP-4等价于BINARY(二进制),COMP-3等价于(打包十进制)PACKED-DECIMALCOMP。 4 算术运算OBNOL算术运算有以下几种方式: COMPUTE, ADD, SUBTRACT, MULTIPLY, 和 DIVIDE 语句 数字内置函数 语言环境中可调用的服务 4.4.1 算术语句 COMPTE语句把表达式的值赋给一个或多个数据项。用COMPUTE语句可以轻松的把算术操作组合在一起,而不受ADD,SUBSTRACT, MULTIPLY, 和 DIVIDE语句那样的结果存放限制。 4.4.1.1 ADD语句 ADD 语法1: ADD identifier-1,identifier-2,… TO identifier-n [ROUNDED] [ON SIZE ERROR statement-1] [NOT ON SIZE ERROR statement-2] [END-ADD] 例子: ADD NUM1 TO NUM2. ADD NUM1, 10 TO NUM2. ADD NUM1, NUM2 TO NUM3 ON SIZE ERROR PERFORM 100-ERROR. ADD 语法2: ADD identifier-1,identifier-2,… [TO] identifier-n GIVING identifier-m [ROUNDED] [ON SIZE ERROR statement-1] [NOT ON SIZE ERROR statement-2] [END-ADD] 例子: ADD NUM1 TO NUM2 GIVING NUM3. ADD NUM1, NUM2 GIVING NUM3. ADD NUM1, 10 TO NUM2 GIVING NUM3. ADD 语法3: ADD CORR identifier-1 TO identifier-2 [ROUNDED] [ON SIZE ERROR statement-1 [NOT ON SIZE ERROR statement-2] [END-ADD] 例子: 03 CURRENT-MONTH. 05 PAY PIC 9(3)V9(2). 05 TAX PIC 9(2)V9(2). 03 YTD. 05 PAY PIC 9(3)V9(2). 05 TAX PIC 9(2)V9(2). ADD CORR CURRENT-MONTH TO YTD. 4.4.1.2 SUBTRACT语句 SUBTRACT 语法1: SUBTRACT identifier-1, identifier-2,… FROM identifier-n [ROUNDED] [ON SIZE ERROR statement-1 [NOT ON SIZE ERROR statement-2] [END-SUBTRACT] 例子: SUBTRACT NUM1 FROM NUM2. SUBTRACT 语法2: SUBTRACT identifier-1 identifier-2,… FROM identifier-n GIVING identifier-m [ROUNDED] [ON SIZE ERROR statement-1] [NOT ON SIZE ERROR statement-2] [END-SUBTRACT] 例子: SUBTRACT NUM1 FROM NUM2 GIVING NUM3. SUBTRACT 语法3: SUBTRACT CORR identifier- 1 FROM identifier- 2 [ROUNDED] [ON SIZE ERROR statement-1] [NOT ON SIZE ERROR statement-2] [END-SUBTRACT] 例子: SUBTRACT CORR REC1 FROM REC2. 4.4.1.3 MULTIPLY语句 MULTIPLY 语法1: MULTIPLY identifier- 1 BY identifier-2 [ROUNDED] [ON SIZE ERROR statement- 1] [NOT ON SIZE ERROR statement-2] [END-MULTIPLY] 例子: MULTIPLY NUM1 BY NUM2. MULTIPLY 语法2: MULTIPLY identifier- 1 BY identifier- 2 GIVING identifier- 3 [ROUNDED] [ON SIZE ERROR statement-1] [NOT ON SIZE ERROR statement-2] [END-MULTIPLY] 例子: MULTIPLY NUM1 BY NUM2 GIVING NUM3. 4.4.1.4 DIVIDE语句 DIVIDE 语法1: DIVIDE identifier- 1 INTO identifier-2 [ROUNDED] [ON SIZE ERROR statement-1] [NOT ON SIZE ERROR statement-2] [END-DIVIDE] 例子: DIVIDE NUM1 INTO NUM2. DIVIDE 语法2: DIVIDE identifier-1 INTO identifier-2 GIVING identifier-3 [ROUNDED] [ON SIZE ERROR statement- 1] [NOT ON SIZE ERROR statement- 2] [END-DIVIDE] 例子: DIVIDE NUM1 INTO NUM2 GIVING NUM3. DIVIDE 语法3: DIVIDE identifier- 1 BY identifier- 2 GIVING identifier- 3 [ROUNDED] [ON SIZE ERROR statement- 1] [NOT ON SIZE ERROR statement-2] [END-DIVIDE] 例子: DIVIDE NUM1 BY NUM2 GIVING NUM3. DIVIDE 语法4: DIVIDE identifier- 1 INTO identifier-2 GIVING identifier-3 [ROUNDED] REMAINDER identifier-4 [ON SIZE ERROR statement-1] [NOT ON SIZE ERROR statement-2] [END-DIVIDE] 例子: DIVIDE NUM1 INTO NUM2 GIVING NUM3 REMAINDER NUM4. DIVIDE 语法5: DIVIDE identifier-1 BY identifier-2 GIVING identifier-3 [ROUNDED] REMAINDER identifier-4 [ON SIZE ERROR statement-1] [NOT ON SIZE ERROR statement-2] [END-DIVIDE] 例子: DIVIDE NUM1 BY NUM2 GIVING NUM3 REMAINDER NUM4. 4.4.1.5 COMPUTE语句 COMPUTE 语法: COMPUTE identifier-1 [ROUNDED], identifier-2 [ROUNDED],… = arithmetic-expression [ON SIZE ERROR statement-1] [NOT ON SIZE ERROR statement-2] [END-COMPUTE] 例子: COMPUTE RESULT=NUM1*NUM2+NUM3-NUM4. 4.4.2 算术表达式 允许数字数据项出现的地方都可以替换为算术表达式。 算术表达式可以有正负号(+,-),幂指数符号(**),除号或乘号(/,*)和加号或减号(+,-)。 4.4.3 数字内置函数 数字内置函数只能出现在数字表达式允许出现的地方。 数字内置函数返回一个有符号的数值。函数本身可以看成临时数字数据项。 下面是一些数字内置函数: 数字处理: LENGTH, MAX, MIN, NUMVAL, NUMVAL-C, ORD-MAX, ORD-MIN 日期和时间: CURRENT-DATE, DATE-TO-YYYYMMDD, …etc 数学: INTEGER, LOG, SUM, SIN, COS, MOD, …etc. 例子: COMPUTE X = LENGTH (RECORD). COMPUTE Y = MAX (X, Y). |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。