Julia机器核心编程.5

julia的浮点数

bits这个函数好像没有了,我xiang给你看下这个值 的二进制表示在最全面的符号位不同

指数形式的浮点数

代码01行使用f代替e来表示这是一个Float32类型的值。代码03行使用typeof(ans)来判断上一个结果的类型,结果为Float32。代码05行将Float32与Float64的相同值进行比较,结果为true。

除此之外,我们还可以通过一个函数将值从Float64转换为Float32。示例代码如下:

强制转换

值得一提的特殊浮点数如下:

· Inf和−Inf

· NaN

当一个数不是实数的时候,我们将会看到特殊浮点数。

特殊浮点数

01  julia> 1/0

02  Inf

03  julia> -1/0

04  -Inf

05  julia> 0/0

06  NaN

07  julia> Inf/Inf

08  NaN

Inf表示无穷大,−Inf表示无穷小,NaN表示这不是一个实数。代码07行使用Inf除以Inf得到的结果为NaN。

还有一些函数是十分有用的。例如,如果需要找到下一个浮点数,Julia提供了如下函数可以帮助我们。

julia> nextfloat(0.0)

5.0e-324

代码01行使用了nextfloat()函数,并传入一个Float类型的值,来显示0.0之后的下一个浮点数。同理,使用如下函数可以找到上一个Float类型的值。

以下定义了x和y两个变量,它们的值分别为1.1和0.1。然后输出x+y的值。该值是不准确的,当没有对特定数字进行预期的浮点表示时,将会发生这种情况。

我们可以使用Julia提供的setprecision()函数来设置精度。

这个范例使用了setprecision()函数,并传入一个数字,代码02行使用BigFloat类型的值来进行操作,得到的结果为1.12。

任意精度的计算

前面我们研究了Int和Float类型。还有两种特定的数据类型可用于任意精度的计算,它们是:

· BigInt

· BigFloat

任意精度的计算是指精度数字仅受其执行系统上的可用内存限制的计算,这在某种计算场景中十分有用。

如下代码使用了BigFloat。

01  julia> BigFloat("2.99123191231231414314134")

02  2.99123191231231414314133999999999999999999999999999999999

03  9999999999999999999996

04  julia> factorial(BigInt(100))

05  9332621544394415268169923885626670049071596826438162146859

06  2963895217599993229915608941463976156518286253697920827223

07  758251185210916864000000000000000000000000

08  julia> big(0.2)

09  2.00000000000000011102230246251565404236316680908203125000

10  0000000000000000000000e-01

代码01行使用了BigFloat()函数,传入一个数字字符串,将返回一个BigFloat的值。代码02行使用了一阶乘函数,阶乘100,结果是一个特别大的数。代码08行使用了big函数(),它也能返回一个大数。

接下来是我最喜欢的特性!!!最喜欢,第一次让我感受到了写数学表达式和我的所学得到统一.

爱死了

(0)

相关推荐

  • R学习:R for Data Science 向量(1)

    R学习往期回顾: R学习 从Tidyverse学起,入门R语言 dplyr合并数据 R学习 流程控制 if,else,ifelse R学习 从Tidyverse学起,入门R语言(tidyr和strin ...

  • Julia机器核心编程.函数

    函数是任何编程语言都不可缺少的一部分,因为函数对功能进行模块化封装,提高了程序的可读性和可重用性.Julia也不例外,它不仅提供了一些内置的库函数,同时也允许用户自定义函数. 在Julia中使用fun ...

  • Julia机器核心编程.7

    可以说,无论是R(data.frame)还是Python(Pandas)中的表格都是统计计算中最重要和最常用的数据类型.这是因为真实世界中的数据大多是表格式的,不能用简单的DataArray来表示. ...

  • Julia机器核心编程.高阶函数

    我这个起名好麻烦,都说函数完了.有整出来一个高阶函数,比较麻烦. 嵌套函数,简单来说,就是在函数中定义函数. 闭包是一个函数对象,它可以记住封闭范围中的值,即使它们不在内存中也是如此. 嵌套函数有助于 ...

  • Julia机器核心编程.作用域

    当我们在Julia中定义函数时,也可以在函数体内定义变量.在这种情况下,该变量在该函数的局部范围内有效,因此称为局部变量.而未在函数体内声明的变量在全局范围内有效,因此称为全局变量. 不同代码块中的变 ...

  • Julia机器核心编程.函数(完)

    当我们讨论函数时,一个非常重要的方面就是参数.毫无疑问,在其他语言中几乎都使用过参数,并且参数可以通过值或者引用传递. 但是Julia却不同,在Julia中参数是通过分享传递的.为了搞清楚什么是分享传 ...

  • Julia机器核心编程.多重分配

    在开始深入探讨多重分派这个主题之前,我们先问自己一个简单的问题:分派到底是什么意思?用最简单的术语来解释,分派的意思就是发送! 在编程术语中,分派意味着向监听器发送一条消息或者调用一个函数.基本上就是 ...

  • Julia机器学习核心编程.1

    其实这个地方是应该有一个juliahitory的目录的,可是没有 只能曲线救国,这样搜索的用了 Ctrl+R 在终端里面搜索用过的命令 shift+?进入帮助模式 分号进入shell模式 报错打脸了 ...

  • Julia机器学习核心编程.4

    在win上加e参数,执行这个代码.不可以.类unix可以试试,我有空操作 我超级喜欢这种循环写法 我这个传参写法没有错,不知道这么久没有出来 与其他编程语言一样,Julia可以更改存储在变量中的值或改 ...

  • Julia机器学习核心编程.3

    一般来说,解决问题的思路是先找出问题的来源,然后将问题分解成若干个小问题逐一解决.同时,还需要考虑所有情况,以保证该方法能完整地解决问题.而编程范式就是一种将编程活动分解的思想,虽然编程范式有很多种, ...