相关研究中需要128bit 浮点数运算。查询最新版julia文档中,现在已有对128 bit 整数的支持,但浮点数只支持到64位。如何在julia中实现128bit浮点数的支持,并使得主要数值运算库支持相关运算?
在Julia中,可以使用BigFloat
类型来定义高精度浮点数。默认情况下,BigFloat
类型的精度是256位,但是可以通过设置precision
参数来更改精度。要定义一个128位的BigFloat
,可以这样做:
x = BigFloat(2.0, precision=128)
这将创建一个128位精度的BigFloat
类型的变量x
,并将其初始化为值为2.0的BigFloat
。
您还可以使用字符串来初始化BigFloat
类型的变量,例如:
x = parse(BigFloat, "1.23456789012345678901234567890123456789", precision=128)
这将创建一个128位精度的BigFloat
类型的变量x
,并将其初始化为字符串表示的值。
请注意,由于高精度浮点数类型的计算成本较高,因此在处理大量数据时,使用高精度浮点数类型可能会导致性能问题。
以上是AI的回答,您128位精度的足够了。
128 位不要用 BigFloat,很慢的。
用 DoubleFloats.jl 或者 Quadmath.jl。
3 个赞