Random 如何计算极大值条件下的随机游动数

Random 如何计算极大值条件下的随机游动数,random,precision,maxima,Random,Precision,Maxima,将浮点数作为输入,并将浮点数作为输出 我需要,所以我使用bfloat来提高精度 我试过: random(1.0b0) bfloat(random(1.0)); 最好的结果是: bfloat(%pi)/6.000000000000000000b0 5.2359877559829887307710727230546583814032861566525176368291574320513017343810348331046724708903528447B-1 但是它不是随机的。生成随机bigflo

将浮点数作为输入,并将浮点数作为输出

我需要,所以我使用bfloat来提高精度

我试过:

random(1.0b0)
bfloat(random(1.0));
最好的结果是:

bfloat(%pi)/6.000000000000000000b0
5.2359877559829887307710727230546583814032861566525176368291574320513017343810348331046724708903528447B-1


但是它不是随机的。

生成随机bigfloat的一种方法是生成一个具有适当位数的整数,然后重新缩放它以获得0到1范围内的数字


请注意,
random(n)
在n为整数时返回0到n-1范围内的整数,因此:
bfloat(random(10^fpprec)/10^fpprec)
生成随机大浮点的一种方法是生成具有适当位数的整数,然后重新缩放它以获得0到1范围内的数字


请注意,
random(n)
在n为整数时返回0到n-1范围内的整数,因此:
bfloat(random(10^fpprec)/10^fpprec)

还有其他可能性吗?我想,可以在Lisp中工作,生成一些位,然后直接构造一个大浮点,而不是进行算术运算。这与当前普通浮点数的代码所做的事情几乎相同。下面是使用random bfloat的代码:还有其他可能性吗?我想,人们可以在Lisp中工作,生成一些位,然后直接构造一个bigfloat,而不是做算术。这与当前普通浮点数的代码所做的事情几乎相同。下面是使用random bfloat的代码: