2024年6月12日发(作者:)

计算机rand是什么意思

rand是计算机中用于运行的基本数据结构。具体定义请参考百

度百科“ rand”。 rand是个什么东西,为什么要用它来定义一种计

算方式?这些问题要从计算机数学讲起。首先解释一下什么是计算机

数学。计算机中所有能用数字表示的函数都可以被称为数学函数。如,

计算阶乘、幂次、开平方等。我们通常所说的“加减乘除”这四则运

算就属于计算机的数学函数。我们通常把函数的结果称为值。其实,

在计算机科学中,值可以由两部分组成:一部分叫做数值(也就是数),

另一部分叫做对应数值的“值域”。所谓数值就是对应于某个输入,

可得到某个输出的数值。而对应数值的“值域”则是一个集合,它是

由一系列真实的数值点构成。

在指定的空间内,能够以“数值”的形式表达的东西总共只有7

个,所以所有能用数值表达的函数和对应的值域都是可以用7个基本

数据类型来定义的。于是我在脑海里搜索了一遍7个基本数据类型,

忽然发现rand竟然是所有数据类型中的最后一个!我感觉不可思议,

但是事实摆在眼前。还记得以前学过的数论吗?比如我们学过的

1+2+3+4+5=15。

于是我对他说:“你的答案也许有错误,但是我需要一个参考答

案,我想查找一下最大的基本数据类型是什么。”当我尝试去用一个

对应的值的时候,我惊讶地发现,它竟然就是rand!可是我已经记

不清原来的数值是多少了,于是我把这个问题发给了老师。老师告诉

我,根据定义, rand的值域是[-1,1],它的数值是-1。在我这个二

- 1 -

年级的小学生看来,这并没有什么稀奇的,因为在我刚接触计算机的

时候,也曾经使用过这个数值来作为函数的数值。但是当我上了高年

级之后,我终于明白了为什么计算机中要选择用rand这个数值来作

为我们表达数的“值域”了。因为他既包含有数,又能表达其对应的

值域。我是这样理解rand的:他象征着一个随机的变量。他会被存

储在计算机的存储器中,但是他的值域却是未知的。我们可以把这个

未知的数值当作0或1,而且我们可以随意地改变它。因此我认为,

在计算机中我们要设置一个固定的数值,这个数值在我们程序运行之

前是不能更改的,否则我们的程序就会陷入死循环。

看着这个小孩子一脸天真地举着“优秀”的红旗,我忽然感到十

分欣慰。因为在这个孩子身上,我看到了我自己童年的影子。

- 2 -