如何在 Maxima CAS 中计算随机 bfloat 数
How to compute random bfloat number in Maxima CAS
Maxima Cas random function 将浮点数作为输入并给出浮点数作为输出。
我需要 floating point number with more digits,所以我使用精度更高的 bfloat。
我试过了:
random(1.0b0)
bfloat(random(1.0));
最好的结果是:
bfloat(%pi)/6.000000000000000000000000000000000000000000b0
5.235987755982988730771072305465838140328615665625176368291574320513027343810348331046724708903528447b-1
但不是随机的。
生成随机 bigfloat 的一种方法是生成一个具有适当位数的整数,然后重新缩放它以获得 0 到 1 范围内的数字。
请注意,当 n 为整数时,random(n)
returns 是 0 到 n - 1 范围内的整数,因此:bfloat(random(10^fpprec) / 10^fpprec)
.
Maxima Cas random function 将浮点数作为输入并给出浮点数作为输出。
我需要 floating point number with more digits,所以我使用精度更高的 bfloat。
我试过了:
random(1.0b0)
bfloat(random(1.0));
最好的结果是:
bfloat(%pi)/6.000000000000000000000000000000000000000000b0
5.235987755982988730771072305465838140328615665625176368291574320513027343810348331046724708903528447b-1
但不是随机的。
生成随机 bigfloat 的一种方法是生成一个具有适当位数的整数,然后重新缩放它以获得 0 到 1 范围内的数字。
请注意,当 n 为整数时,random(n)
returns 是 0 到 n - 1 范围内的整数,因此:bfloat(random(10^fpprec) / 10^fpprec)
.