00:00
下面讲的这个是。呃实呃实型我们也称为这个浮点型,Float的是什么?Float的是这个是单精度浮点型,然后这个是double,这里面叫什么双精度浮典型,是不是这有两个这个浮典型,那正常情况下,比如说这个数据存储的情况下,咱们知道整形情况下应该怎么存档,是不是00011,那这里面带小数了怎么存,那这里面是没跟大家说过是不是,那我们这里面可以回过头来跟大家介绍另外一个内容啊,这个内容当时没给大家讲。在二进制存储的时候,你看一下我们这块没给大家去讲,是不是你应该预习了吧,如果没习,我跟你说一下这干嘛,那这里面我们要将十进制小数部分也能转化什么,也能转为二进制去存储,那看下怎么存储呢?是将小数部分乘以二,然后再取出这个整数,比如说这个是0.432,每次乘以二,第一次得到结果多少啊是。0.846这个前面这个整数部分是结果是几啊零,然后这个取出的结果为零,然后再上这个结果,再这个数乘以二,然后得到是1.728,然后这个里面是几了,是这个。
01:08
一然后把一拿出来,然后这个是变成什么0.728了,知道吧,这样的乘以二,然后等于是1.4。1.456,再把这一取来,因为我这小数后面有几位啊,有这个三位,所以说这里面取的这个值应该是几个呀,是三位是不是啊,那这样就会导致一个问题出现,什么问题出现呢?我们保存的这个小数部分可能是一个什么啊,可能这个不准确的是不是因为怎么,因为这个对不精确的,这不精确的不能说不准确的,是一个不精确的是接就是无限接近于什么0.432的这个值是不是啊,所以说我们这个这个这个这块这个乘呃方式你应该能知道啥意思吧,是小数部分,然后乘以一个二,就有几位乘以几次二是不是,然后把这个整数拿出来,然后从上到下迅速取出来,然后放在这个内存中去存储,知道吧啊。
02:00
那回回来,那这里面分为两种啊,分为一种什么?一种是这个float,另外一种是double,那我们也可以称为double,会比float怎么着更精准一点,为啥?因为它这个乘以的次数就更多一点呗,是不是?那这样情况下,就是比如说我们可以定义一个这样的值啊,定义一个值,你看一下是。的就是G,然后是ABCDFT。啊,你先不用管这些,我这个命名规啊,命名规则,等到那个我我会把它从这个Linux里面怎么的拿到这个Windows里面,我会给你改名,然后改顺序,然后到底家名你就可以自己去看了啊你先不用管这个啊,这然是VIJ完啥了,Hid hi,不是H吧,点C,那我们写一个浮典型的一个例子啊,An include。Std lo点儿H。呃,Int,呃,不是不是,是int类型的ML括号。呃,Float类型定义一个float型A等于十。那这样可以定义吧。
03:01
可以在默认情况下,它存储的值在我内存中,它应该是这样存储的啊,它应该是存的是十,然后是点123456啊,这样存储的这个啊,这样的一个值啊,那我们可以在后面写什么,写个10.0啊,这样也行,是不是,其实它存储的还是十点什么什么那个值是不是六个零是不是,那10.12,那就存在什么10.12后面几个零四个零是不是。啊,或者说我们可以加一个什么,加一个10.12F知道吧?啊,代表什么flow类型是不是啊,但是在我们这个C语言,呃,C语言中,呃可呃不是在我们C加加中可以写十点F代表什么,代表10.0F是不是,但是在我们这个C语言中这样写是不对的,所以说你必须得加应该是零才可以啊呃,F可加可不加啊都无所谓啊,那我们比如说写个十,然后这里面打印一下,打印一下这个值为十啊,百分号百方F啊注意一下这是什么摆方F啊啊,然后打一下什么,打一下A的这个值,然后是。
04:01
执行一下这个H程序,你看打印的值为多少啊,10.000,它默认保留几位小数啊,六位小数,咱们之前测试那个什么3.1415926的时候,如果说这个超过六个情况下,他会给你怎么着,四舍五入是不是还记得四舍五入这块吗?啊记得,那好咱们再看一下VI,这个是h.C。啊,可以四舍五入是不是啊,那我可以做一个什么,做一些乘法操作是不是,那比如说这里面给大家演示一个乘法操作,比如说这个我们写一个什么,写一个这个圆的半径,圆的半径应该是用什么表示,用R的是吧?呃,R等于,比如说这个圆的半径为这个二,那我想求出这个什么,想求出这个面积应该多少啊啊,定一个类型flow的类型的这个面积。呃,面积应该是写什么S吧,等于面积为是什么半径的平方乘以乘以3.14是不是,那我们这程序要写的时候应该怎么写呢?半径是什么?是这个R是不是R再乘以个R这个这个我们计算机中用星代表乘二啊,你别给我这样写啊,X乘以二这不对啊,那是哪个是这个星啊,不是X啊啊X是是一个字符乘以二再乘以什么,再乘以一个是3.14是不是这样就是这个值啊,那我们可以打印一下什么,打印一下这个是S的值,能把这个直接改成什么,改成这个是。
05:32
S默认要保留几位小数啊,六位我不想保留那么多,我就想保留两位小数,那怎么操作呢?那这里面写个2F,我们看一下啊,同学说2F了,你先写个2F啊,保存F保存一下啊,GCCC-O然后是H。h.C啊,再执行一下这个H,得到结果是12.56,是不是正常情况下十二五六,但是你们我说本来点和小数你就写个2F,这样怎么样不对是不是,那我们看一下怎么去修改杠oh,诶sorry啊vi.c要改的情况注意一下啊,这里面需要这么写啊。
06:11
点RF这个点代表什么?小数点后面保留几位小数是不是?那比如说这里面保留一位小数,应该得到结果为多少啊?12.56应该得到结果为12.6,是不是会四舍五入是不是?我们先看两位的啊,看一下结果啊,保存一下BCC-O然后是H。H角C执行一下点斜杠H,得到结果是不是12.56了,保存两个小数了吧,啊,那个二如果写在前面,那是什么意思呢?就是小数点前面要怎么着,要这个是就流失两位,其他的就不管了,知道吧,嗯,对,那一般情况下我们在做整形操作情况下,会怎么着,会去写个这个那个2F和3F,那我们看一下,如果这样写啊,你看一下vi.c。改一下,改成这个叫。
07:00
写这个是什么结果,保存一下,然后再重新一下程序,再程序。我们下这里面的是没有任何变化吧,啊,为啥是没有任何变化,高于这个数的情况下怎么没有变化吧,如果低于这个呢。啊,低于这个也没有变化是不是啊,我们看一下啊是VI。h.C。啊,百分5.2是吧。啊啊对,我们再改一下,改成这个负的5.2,看一下有没有变化啊GCC-O然后 Hh.C。执行一下这个H。也没有变化,是不是,这是什么意思,在浮典型这里面是这个对这个整数部分操作情况,你得需要这么操作啊,只能比它少,如果比它多情下你是没有效果的,是不是咱们看到了吧,对吧?C。写错了啊h.C啊,再执行一下,那比如说写什么,写这个是少一点的啊,比如说是。
08:02
1.2,那这样有效果吗?你觉得。没叫过是不是啊,对,给同学。 Hh.C说的对啊,H应该是没效果了,是不是在整形的这里面这个点之前呢,是有效果了啊,啊,我们一会儿可以去,你们自己去验证一下吧,这指定我说的是对的啊,自己看一下这是什么,这是我们这个十典型的一个定义方式啊,包括这里面有这个例子,你可以看一下啊,这里面正常定义方式啊,比如说是。角FVT的是不是我们知道还有一种是可以通过科学计数法来来操作的,那我们可以看一下啊,这个是作为一个参考的,一个参考学习的项目也可以啊,这里面什么?这里面是这个A等于3.2,然后E3就代表什么,代表这个E代表是多少,多少的十的多少次幂是不是啊,值多少次幂,如果正数情况下就是十乘以十乘以十十的这个多少次幂,三次幂是不是主要结果就应该是。这写错了吧,这结果。应该少个零吧,是这样写啊。
09:00
啊是这样写啊,是三千二啊,这个三千二啊,这个E可以写成什么?写成这个是大意是不是这是科学计数法去计计数的啊,那如果这个写什么,写一后面加上这个负三,就乘以这个是。零点零点零零点什么零点啊,0.1是不是,再乘以0.1,再乘以0.1,得到结果就是0.0001是不是,那这它结果啊,这是我们用特殊计数法表示的这个值,那就是显示的是不典型是不是,然后用用什么来表示啊,用这个F来表示是不是,那那那我们再看一下啊v.C。那我们现在用的是什么?用的是单精度普典型,是不是再来个什么双精度不典型,给大家看一下。嗯。叫。单精度浮点型啊。Ec小。小。意思斜杠这里来写什么,写一个这个。
10:02
双晶构浮点型bub大E等于什么等于这个是二啊也可以啊,或者你写什么二点这个零是不是也行啊啊,然后同样我们再做一个什么,做一个这个操作就是显示圆的面积,那这里面是定义一个什么定义一个。A乘以A再乘以一个,什么乘以个是三点。三点呃是3.1是可以啊,得到结果其实和这个之前是一样的,而且这个双精度型单度型用号。输出结果我们看一下是不是这个12.56后面加上四个零啊,你要有限制情况下,你可以自己去加这东西就行啊,一般情况下,如果说你要做很精密的计算情况下,用哪个用double啊正常,如果正常计算情况下用这个float也不会出错啊,也不会出现这个错误,那也可能是怎么,就是这个小数位数就是12.56后面情况下,你要保留位数多的情况下,可能会有一个偏差的这个值出现,是不是啊,这个咱们如果说在VS里面,你比如说你输入一个12.0,它后面这个显示那个值可不一定是12.0,你知道吗?
11:22
这知道吗?啊,来给大家演示这个问题啊,啊,反正时间耽误这么多啊,继续吧,是不是。好,咱们就上一天的项目给这个问题说一下就行啊,这个因为你们以后看到情况下有同学也会问,我就跟你说一下,你就知道什么意思了。这把。把这个代码先注销,然后写一个代码,比如呃,Float型的A等于12.56F。
12:01
F。然后分号,当我鼠标放上去的时候,你看一下这个值是12.56嘛,啊,你看12.56后面是0000。四二是不是,所以说这个值是怎么是这个不精准的,知道吧,你要是你说这个,如果做一个银行项目,是不是几个亿大工程,你再乘以这个数,是不是一下400多万是不是到手了,所以说所以说这个怎么的,所以这个是不精准的,但是你用这个什么呀,用double它也不精准,知道吧。你看我鼠标放上去之后,诶。是不是和这个结果是一样的啊啊,但是这个你要倍数少的情况下,这个是怎么的,是个double部情下,还比那个什么,还比那个float要精准一些,知道吧啊,所以说这个值你要知道一下啊,这是它在不精准的原因,是是因为咱们小数部分在存储的时候,它就没办法精准那个数再去存储,知道吧,能明白吧,明白了啊,我前面给大家说了,这是只是这个案例啊,我把这个保存一下啊,这个就不给大家发了,但是我会写在笔记中啊。啊好,那我们再继续往下啊,继续继续没了吧,这块啊这块内容。
我来说两句