Kotlin源码阅读——Math

package:kotlin.math

filename:MathH.kt/MathJVM.kt

在MathH.kt里,是一些math的常量和方法定义。

这里expect是代表,实现在别的地方,对应的关键字是actual。

math的实现文件是在MathJVM.kt里,看一下截图:

虽然math模块源代码比较简单,但是里面也有让我觉得是新的东西,看图:

NaN其实在JVM上的语言,并不像JS一样,要特别地学习一下,但是NaN这个逻辑也确实存在。代码跟进去:

这里比较有意思的是,NaN的值是0.0f/0.0f,而且NaN和自身是不相等的,还有一点就是浮点数是不会发生除零异常。浮点数的运算具体规则,是涉及到底层知识的,如大学里学到的计算机组成原理。

想着这个应该不是独有的,马上又验证了一下C++:

还是蛮有趣的。

Math模块没啥复杂的,到此结束。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏GreenLeaves

正则表达式简介

简介:完整的正则表达式由两种字符构成。特殊字符(如*、[]、&、@、$等称为元字符),其他为文字,或者是普通字符,为了便于理解,我们可以把正则表达式想象为普通的...

2166
来自专栏青蛙要fly的专栏

Android技能树 — 数组,链表,散列表基础小结

现在安卓面试,对于数据结构的问题也越来越多了,要求也越来越多,所以我对于数据结构只能慢慢补起来了。(灬ꈍ ꈍ灬)

1304
来自专栏java学习

java每日一练(2017/8/15)

最新通知 ●回复"每日一练"获取以前的题目! ●【新】Android视频更新了!(回复【安卓视频】获取下载链接) ●【新】Ajax知识点视频更新了!(回复【学习...

2694
来自专栏java学习

java每日一练(2017/8/24)

最新通知 ●回复"每日一练"获取以前的题目! ●【新】Android视频更新了!(回复【安卓视频】获取下载链接) ●【新】Ajax知识点视频更新了!(回复【学习...

38516
来自专栏Golang语言社区

Go的语言特性总结

写在前面: 近来关于对Golang的讨论有很多,七牛的几个大牛们也断定Go语言在未来将会快速发展,并且很可能会取代Java成为互联网时代最受欢迎的编程语言。G...

5237
来自专栏Web行业观察

从JSON进化到BSON

自从MEAN引导的JSON数据格式取代传统JAVA推崇的XML以后, json的发展却停滞不前了, 当然这是好事, 因为稳定的结构是不需要向下兼...

3464
来自专栏前端侠2.0

见到一个讲bind最好的文章 原

http://developer.51cto.com/art/201710/553608.htm?utm_source=tuicool&utm_medium=r...

1012
来自专栏Hongten

java中char类型和int类型相加结果是char类型还是int类型?

当然,首先,我们可以肯定的是,这两个是可以相加的。其次,我们要知道他们都是基础类型。最后,我们要明白一点:

3662
来自专栏python3

习题35:物以类聚

用到"class"的编程语言被称为"Object Oriented Programming(面向对象编程)"语言,这是一种传统的编程方式,你需要做出'东西'来,...

913
来自专栏ml

caffe中是如何运用protobuf构建神经网络的?

2375

扫码关注云+社区

领取腾讯云代金券