00:00
好各位,那现在我们再来看一下构语言的浮点类型啊,浮点类型就是我们所说的小数类型对不对啊,我们来看看小数类型它的一个使用的情况是什么样子的,来看一下吧。叫做小数类型。啊,也叫浮点型。也叫福定性。对吧。小数类型我们叫福定型,那么这块呢,我们来看看他这个小数类型啊,需要注意的地方是什么,基本介绍。基本介绍,所以小数类型呢,就是用来存放小数的,对吧,这个很简单,小数类型。类型。就是用于用于存放小数的。比如。你比如。看这在录视录视频,比如咱们的像这个1.2对吧,零点。
01:01
二三或者是负的什么1.1。要。1.911啊这样子都可以用来放在小数类型里面去,小数类型里面去,好,那么基本介绍说完了过后呢,我们就来来一个案例演示,案例演示比如说我想去存放一个人的工资,或者是存放一个小数点小数,那么大家看我怎么去用它,好老规矩啊,我们复制一份这个这个。已有的好,复制一份呢,我把这个文件夹的名字改一下,好,这个改成零八。Float float DEMO。零八。对吧,然后呢,我把这个命顶go删一下。不要了啊,把这个框架留下来,其他呢,我们先。把它删掉。好,这个呢,也把它拿掉。对不对,好,现在呢,我们演示小数类型的使用。
02:02
小数类型的使用,那同学们看我的案例啊,比方说我要存放一个薪水啊,一个人的薪水或者一个价格吧,这样写一个price商品的价格。Price pce,那么我用个FLOAT32来计数等于,比如说这个商品价格89.123啊这样子这样子好,这就是一个小数类型的基本使用,我们把它打印出来。写一句话叫做price等于点P。好,同学们看我运行一把啊,CD点点。点到上一局去,上一局是什么呀,咱们的这个float进到这里面去让一下,好同学们看我让一下price等于多少呢?89.12,没毛病吧,没毛病,好,这就是float的一个基本使用,还是比较简单,对不对,还是还是比较简单,我呢把这一段。
03:00
代码啊,给它放到笔记里面去。非常简单。呃,然后呢,这个案例讲完了过后,下面呢,就要给大家说一下我们这个go里面小数类型有哪些啊,小数类型的分类。小数类型。类型有哪些分类?这个呢,咱们也要做一个介绍,来看一下吧,同学们,那么在构元里面呢,小数类型分类有这么两大类,一个呢叫单精度,一个叫双精度,对不对?那单精度呢,类似于其他语言里面的float,双精度类似于其他编程语言里面的double,但是呢,它不叫double,它根据后面这个数字来进行。进行这个区分,32位就是单进度,64位就是双进度,明白那32位就是说它占用的存储空间呢,是四个字节,能理解吗?啊64呢,就代表它占用的存储空间是八个字节。那这两个占用空间不一样,我觉得啊,最主要的区别是在于它们表示的数的范围和表示的精度不一样,注意听我说这句话啊,不同的这个单精度和双精度主要区别是在于表示的范围不一样和精度不一样,后边呢,我在说明的时候还会强调一下这个东西啊,你比如说单进度的,它表示范围是这个,而双进度呢,表示范围是这个,看大了很多啊,大了很多。
04:26
好,这是它的一个浮点型的一个分类。分类,分类完了过后呢,我们再来。好,先把分类这个图拿过来啊。针对这个分类呢,我们做几点说明。好,对上图的说明。对上图的说明。好,我做一个说明第一点啊。先不去管它,第一点,首先我们要明白的是浮点数在机器中存放的形式,我们简单的介绍一下啊,别人问到你呢,你知道一个大概这个呢,做一个了解就可以了,不要深入的去研究浮点数,它等于符号位加指数位加尾数位。
05:15
加尾数位,那就意味着我们的浮点数呢,都是有符号位的,那言外之意就说我们的浮点数怎么样啊,它都是有符号的。对吧,都是有符号的,所以说这一点大家一定要有一个。印象啊,要有一个印象,所以说第一点呢,我们先放到这儿。它都是有符号位的,这说明。啊,说明什么呢,说明。说明我们的浮点数啊,浮点数都是都是有符号的。符号的OK,我举个例子,你比方说我这写个负数啊,比如说我在下面再写一个啊,VR number1对吧,Float。FLOAT32位,然后呢,我写一个负的一零点。
06:04
000089对吧,VR number2。FLOAT64位,64位等于负的,比如说来大一点啊,大一点点零九,你看这样子呢,它都可以表示出来,表示出来好我们打印出来一下。走number等于NUMBER1,再来NUMBER2等于。NUMBER2我运行一下。我运行一下都没看效果。好,同学们看这个值就没问题,而且呢,它在表示的他会用这个科学计数法啊,但是我介绍一下这个科学计数法是什么意思,看一加多少啊,一加多少,后面我再讲细节的时候,再给大家说一下这个科学计数法是怎么回事。它这用的是科学计数法来来显示的啊,叫科学计数法。那么在这个初的时候,同学们在上初中的时候,老应该提过这个科学计数法吧,诶,不知道的也没关系,待会让老师再给他补一下,相当于说是7.80966509乘以十的多少次方,六次方啊这个意思。
07:19
好,这是它的一个基,第一个啊,就是它是有符号的体现出来。诶有符号的看这。看这对吧,好,我把它呢放在笔里边去。有符号的。好,第二个细节,第二个需要同学们了解的就是尾数部分可能丢失,造成精度损失。我举个例子,比方说我存放一个这样的数,那么这个时候同学们啊,你会看到有可能你存的是这个数,但是输出来呢?他却不是这个数了。因为跟精度有关系,我们小浮点数,浮点数它为什么能表示这么大的一个范围,大家看到没有。
08:02
他明显不科学,为什么他表示这么大一个范围,就是因为其实他只是。把这个指数位和尾,他把这个指数位记下来,把尾数位记下来,那么他记得是一个大概,比如说你这个数很大,其实它就记录了前面一部分,把尾缩位呢,给你怎么样呢?有可能就给你造成精度损失,明白这意思吧,所以说你看你从一个这样的数字进去过后,你会看到输出来的情况可能跟你想象的不一样,那我举个例子。就说大家要有一个印象啊,就是说你在使用浮点数的时候,你的脑海里面始终有一根弦,拉着你的就是什么呢?可能有精度损失,可能有精度损失,好,我把这个给大家再演示一个案例。演示什么呢?就是这个精度有可能损失的一个案例,大家看一下。同学们看啊,我呢,再给大家写两个数。NUMBER3。
09:01
啊,FLOAT32位。等于把这个数放进去。把这个数放进去,我们再来NUMBER4FLOAT64位。等于我还把这个数放进去,我们来输出这两个数,看看哪一个数表示的精度更准确一点。好,走一个NUMBER3。等于说出来NUMBER3。再来一个NUMBER4,说出来等于一个NUMBER4,没问题吧,我执行一把。跑起来,请看效果。同学们可以看到啊。同学们可以看到。当它运行完了过后,你会看到,诶,前面这个数的精度好像被损失了,你看。嗯,这个32位,它记录下来是负120.0009,把这个101该怎么样拿掉了。
10:03
而64位这个呢,它却原封不动的保存了我们这个字,大家看这里。你看这儿。是准确的,但是你看这个地方。这个地方你看它后面这个零一就莫名其妙的给你损失掉了,所以说同学们通过这个案例呢,应该得出两个结论,一个是浮点数。会有可能造成精度损失,这是第一个结论,第二个结论呢,64位的精度比32位的精度要怎么样要大。因此,如果我们将来要表示一个精度更准确的数,大家想应该选哪个呀?显然应该选。64位能理解这意思吧,好,所以说这个地方呢,大家要有一个认识啊,要有一个认识,我把这个呢,把它放在我们的笔记里面去。诶,我把这个呢,放在我们的笔记里面去啊,放到这儿,那么我对它呢,做一个简单的说明。
11:00
做一个简单的说明。啊,说明两点啊说明。说明就是float。FLOAT64 64位的这个精度。精度。精度比谁要FLOAT32位的要准确。要准确。对吧,这是第一个,第二个说明呢,第二个说明就是如果我们将来希望使用这个,我们想保存一个精度更高的一个数字,那么我们应该用FLOAT64位。如果我们希望。我们希望我们要啊,要保存。保存一个精度高的。高的树。高的数则应该选择,应该选用,选用呢,Float float64位对不对?好,这个地方大家看到它的输出的效果,我把这个输出的结果呢,也给同学们拿到笔记里面去,大家看一下啊。
12:11
诶,你看这个地方其实看的还是比较清楚的,就是说他把这个东西展示的还是比较清楚,比较明白。你看这。对吧,诶,你看这个效果就能很明显的看出来它区别好第呃三一个需要同学们知道的是,这幅电型呢,它存储分三个部分,符号位,指数位。还有这个尾缩位在存储过程中精度可能会损失啊,这个呢我就不再多说了,刚才那个案例已经充分的说明了这个特点。对不对,充分的说明特点。好,这是这个呢,就是老师要讲的浮点型的一个基本使用,那么至于浮点型的一些细节呢,我们待会儿再为大家介绍。
我来说两句