标准的COBOL RANDOM函数实现是什么?

问题描述

COBOL RANDOM函数文档没有提供有关argument-1的可接受值范围的足够信息。

也许有人可以阐明我的以下问题:

  • 可接受的种子值范围是什么?
  • 如何处理超出允许范围的值?
    • 他们被截断了吗?
    • 只使用低位吗?
    • 还是高位?
    • 是否使用了最左边的数字?
    • 还是最右边?
    • 其中有多少?
    • 是否将MOD函数应用于种子值?

简而言之:

COBOL标准中是否有规范定义使用了01 myRandomSeed PIC 9(50).之类的值的哪些数字?


Large value demonstration

解决方法

对于COBOL标准,请查看the current draft standard(那里的文件根据委员会工作的当前状态而有所不同),该文件在“ 15个内在函数”下具有RANDOM功能。 / p>

格式为:

FUNCTION RANDOM [ (  [ argument-1 ]  ) ]

根据规则,可选参数1必须为数字类,并且可以为零或正整数。

对于返回值:

实现者应指定参数1值域的子集,该子集将产生不同的伪随机数序列。该子集应包含从0到至少32767的值。