float 和 w 的区别是什么?一、 float 和 w 的区别是什么?一内存中占有的字节数不同,单精度符点数在内存中占有四个字节,双精度符点数在内存中占有八个字节。二、有效数字位数不同, 单精度浮点数有效数字八位,双精度浮点数有效数字十六位。三、数值取值范围不同。单精度浮点数的表示范围,负三点四零一加三十八到三点四零一加三十八。 双精度辅点数的表示范围,一点七九一加三百零八到负一点七九一加三百零八。四、在程序中处理速度不同,一般来说, cpu 处理单精度辅点数的速度比双精度辅点数的速度快。如果 不声明默认小数是 double 类型,如果想用 float 要进行强转。二、例如 float f 一点三会变异报错,正确的写法是 float f 等于 float 一点三,或者 float a 一点三 f, f 和 s 都可以,不区分大小写。三,注意 flow 十八位有效数字第七位会四舍五入。四、面试题 一、执法中三乘零点一零点三将会返回什么?出入还是 false? 答,返回 false, 因为符点数不能完全精确的表示出来,一般会损失精度。二、执法中 float f 三点四 是否正确?答,不正确,因为三点四是双精度辅点数,将双精度赋给单精度,属于像 下转型,会造成精度损失,因此需要强制类型转换。 float 等于 float 三点四,或者写成 float f 三点四 f。
粉丝96获赞339

c 语言你需要知道的知识?刚入行的同学一定要收藏好这段代码,看得懂的在弹幕上扣我误了。刚入行要知道这几种常用的数据类型,整形可以理解为就是整数,用英语来定义变量浮点型和双轻度浮点型都是小 w, 精度范围要比 note 精度要高。叉是用来存放字符写数据类型远不止这些,新手知道这些就可以了。看第七行的语句,百分号 d, 百分号 c 百分号 i 是格式控制次数 顺序对应后面的那个那个那么那么二。这些变量格式控制字符写法不止这些,感兴趣的同学自己了解一下。其他的双引号里面最后的 换鞋盖那是用来换行的。最后给大家推荐一下新手最友好的词语言编译器, 不需要其他任何配置,下载安装就可以用下载链接看图上地址栏就可以了。学编程是个漫长的过程,大家一定要有耐心,加油同学!

好了,细线同学呢,可能会有这个问题。什么问题呢?就是你这个同样是辅点型,你怎么还分一个单净度跟双净度呢? 是吧,其实说白了就是什么呢?双精度,也就是 double, 他表示的小数要比单精度表示的小数要更准确一点,更精准一点。那么他俩有什么区别?简单的去了解一下啊简单去了解一下。那么好嘞,首先说一说 float 第一个 flow。 好,那这个 flow 啊,他代表的小时位数, 小时候位数是多少呢?只有二十三位。注意啊,这个二十三位指的是什么?只是二斤之位,那也就意味着 转成十进制的话,就是二的二三次方, 他是多大个数呢? 叫八三八八六零八,也就意味着啊,你 fout 啊,你看啊,也就意味着, 也意味着你 flow 表示的小数位数,对应的十进制最多是七位啊,说明用 flow 表示的小数,小数点后六到七位是准确的。 哎,就这个意思, 大不行的。大不啊,代表的是小数位数是吧,有什么有五十二位, 当然这个话术呢,其实都差不多啊,把它粘过来改一改。那这个五十二位指的是二斤之位,转成十斤至就是二的多少次方啊?五十二次方,那这是不是更大了, 多大呢啊?我给你给你给你去表示一下啊,四扣五零三五九九六二七多少?三七零,还有什么呢?四九六, 你就瞅这个数多大吧,一共是十六位。十斤制也就意味着八宝 表示小数位数,最近的十斤至最多是多少位啊?最多是十六位,说明 double 表示的小数,小数点后十五到十六位是准确的。 哎,就这个啊,根据不同情况,有可能是十五,有可能是十六啊,好嘞, 我这有个电脑,这全是 w。 行,这这这这,浮唠都行,是吧?浮唠都行,你浮唠都行,刚开始是个十点零,还有整数是三一除,用浮唠都接收,相当于十除以三等于多少。三点三三三三的无限循环对不对? 好了,看着啊,编一下,运行一下,你会发现小数点一二三四五 六七,你看是不是有七进去到七位啊?你要是打包呢, 把这 f 去掉保存,你再重新变异,你重新运行,你看一共多少位啊?一二三四五六七八九,十,十一,十二,十三,十四,十五,十六,你看 是不是十六位啊?哎,所以说这就是大波浪佛道的一个小小的区别。


你好,请问 float 和 double 有什么区别? float 和 double 都属于浮点数,区别在于 double 所表示的范围整数部分范围大于 float, 小数部分精度也高于 float。 结尾最后,如果你有什么关于此类的问题,可评论区留言告诉我们。学骄傲教育。

来,我们一起来看一下在 c 语言中 int、 love、 solow、 w 啊,他之间的一个区别。首先我们思考一个问题, c 源为什么要设置这么多的类型啊?为什么要设置这么多的类型啊?啊?原因很简单啊,就是因为啊,在我们这个呃 编程写程序的过程中,我们处理的数据各类各样,有的数据小,有的数据比较长比较大,哎,有的数据是整数,有的数据是小数,有的数据是正数,有的数据是负数,哎,这个时候呢,呃, 如果一个数据他有小有大,那么我们要用统一的一个变量去存所有这类型的数据的话,这就造成了什么呢?内存的一个浪费啊, 在七几年的时候,那个这个内存很贵的啊,我们就要节省内存,是吧?小的数据用用内存比较占用比较小的类型,大的数据用内存占用比较大的类型,是不是?哎,这就是这个原因。好吧。第二个, 昂森的是什么意思啊?昂森的翻译成中文是什么呢?是无符号。什么是无符号呢?无符号就是没有正负之分,我们知道数字都有正负之分啊,昂森 就是无符号,也就是什么呢意思呢?这个这个这个类型呢?只能表示正数啊,你们不能表示负数,只能表示正数,明白吗?如果没有这个昂就是有符号啊,默认是有符号,也就是也能表示正数,也能表示负数, 这个意思啊。哎。第三一个,那各个类型在内存中都占多大空间呢?哎,这个也是考试的时候,面试的时候经常会问的啊,工作中你也要知道啊,这个不要去死记,记住什么呢?记住 face 这个函数就行了啊如果面试中问你啊 你就可以说啊哦我们可以用赛道去看一下他的在内存中占了多大的空间如果你记不住的情况下你这样回答是没问题的 ok 嗯当然。哎你说老师我就想记住啊也很简单你就把这个代码敲一敲然后去运行一下,好吧哎是不是就出来了哎记也很好记你就记特殊的我们知道这个空间以 windows 六十四位操作系统 回来哎他也就是两个字结四个字结八个字结哎这几个对吧你就记住谁是两个字结谁是八个字结其他的都是四个字结不就行了吗对吧哨的类型两个字结 啊。呃这个 w 八个字节好吧啊昂森的 no no 哎八个字节是不是不就可以了吗对吧 哎哎这边我要提醒大家一下你要知道字节是什么对吧字节到底是什么啊字节其实 就是等于八位那什么是位呢在内存中我们可以想象成内存是一个网格由八个格子每一个格子代表一位那八个格子就是八位好吧一个格子只能存一个数零或一那八个格子是不是 他就占八位是吧所以这个整数啊哨的整数是两个字解也就是占十六位啊两个字解一个字解八位好吧 那呃大家最常见的是什么呀?是比如说照记他之间的关系好吧啊一记等于一零二四照一照等于一零二四 kb 一 kb 等于一零二四 字结啊一字结等于八位好吧哎这是最基本的啊。最后我们来来看一下到底 flotel 和 w 有什么区别? blus 和 w, 哎,其实很简单,比如说我有一个 x, 一个 y, 他俩一个是 flow, 一个是 w。 啊,其实就是这个 w, 他翻译成中文是什么呢?是吗?是是,是双倍的,也就是 他精度更高啊,精度更高的小数,他俩都是小数,只不过 w 精度更高啊,比如你看这个数据,他的输出这个 x, 你看明显有误差吗?这个 w 呢,是不是很精确啊?哎,精度更高, ok, 哎, w 的最小值是是多少呢?二点二二得的呢,乘以十的负三零八次方。注意这是科学技术法啊,你要知道这个科学技术法的话,注意这里代码,这里很关键,百分号一代表着以科学技术上表示。哎,这里是说的是 这个 flowt 的最小值, flowt 的最大值, w 的最小值, w 最大的值可以输出出来。好吧,关于科的技术法什么意思呢?比如说一点二乘以十的五次方。

表示福典型必然的词。那么看这个例子,福典型我们一般指的这三种, flot, double 和 rum double 啊,这个是叫做福点数,来源于福点数 floating point 者 w 呢,来源于 w plurician 取了前面那个,也就是这个精度,双倍的精度,我们可以理解为这个双倍呵护一样,就他会表示的精度会更更大一点。 那个龙大伯呢?按道理他应该会表示的进度更高啊,那我们看看这个值,给了三个很大很大的值啊,然后打印出来,那 前面两个是一样的,对吧?因为我们前面讲过,不管是 plot double, 其实这里面的百分之二 f 啊,表示的就是 double, 所以输出的时候 a 和 b 用同样的方式输出格式输出就可以,但是 只有 long double, 也就是这个 c 这个词是 long double, 它需要用 l f 这个 l 代表 long, 那输出的时候我们看它这个 b 个 c 打印的词是一样的,而且是从八这位就开始不对了,他这应该是七,但长度是一样的,你可以数一下,那这是零到这个十吗?就是相当于十三,你这个数一下,这也是十三。十三位 长度没有问题,精度出了问题,就是在福点的表示里面,我们说他的这个表示范围啊,是通过长度和精度来 来两个指标来决定的。那这个地方呢?这个长 a 的长度好像也没问题,但他这个精度明显小了很多啊,从这里开始就不对了, 那这两个为什么是一样?但有可能是每个变异器可能打印出来效果也是不一样啊。那我们前面也讲过,比如说 shot short 和 inter 他的关系,然后在在后面啊,比如说浪,他也是小一点音的关系,那这个浪浪呢?因为机器他编辑,他只要是满足这个就可以,是吧?这个所以在这个福典型里面,可能也应该也是这样的。 福典型的表示范围是长度和精度,这个一定要记住长度和精度共同决定的。举例子吧,用例子来说比较好,把长度为十二位的数组精度为六位的有效数字,以下是具体,以这个具体的例子我们来参考,比如说这样的一个值, 这个数值有十位,在长度为十二位的范围之内,所以这个范围没问题。但是精度如果只有六位的话,我们如果精度只有六位的话,假设我们有一个变量,这样的一个盒子, 抓一个这样的盒子,我们要装这这个,这个盒子的指标是什么?十二位,精度是六位, 然后我们给力这样的数长度没有问题啊,满足,但精度我们不满足,他可能就会只保留前面这个,那后面的就会被截掉了,对吧?只保留前面六位,那这就是零零零零了, 要四舍五入,所以这一位还就变成七啊,这也就是我们上次为什么本来是应该七八九这个地方,这个变成八了,后面就都结成零了,对吧?应该就是这种这种问题啊,如果长度都不满足的话,那可能就是另一个问题了, 我们刚才那个 flot 是不是就是长?可能就是长度也没有满足,但是长度没有满足,怎么显示出来呢?啊?这个具体 我们在下面往下看啊,看看他的,查下他表嘛,看看他的选择范围嘛, 最后就变成这样,和我们刚才讲的是一样, 那用科学技术法,你学福典型,一定要知道科学技术法,这个我们可以认为是它的长度了吧?这个基本上是一个精度吧, 他可以表示为一点二三四五七乘以十的九十方,那在这里面称为尾数啊,还不能叫做精度啊?这这个数叫做尾数, 这个酒我们叫做指数尾数和指数尾数就相当于精度,对吧?这个尾数我们刚才说精度,那这个酒呢?指数呢?就相当于长度, 相当于嘛,也不是等于嘛,其实我们都有十位的,然后你这是九啊。目前为止我们都是以实际制来思考的,但是实际上尾数部分和指数部分在计算机里面我们肯定都是按进程表示的。 指数部分和尾数部分的位数取决于变异器和数据类型,所以不同的变异环境下面也可能会不一样。指数部分的位数越多,就说明能够表示的值越大,位数的部分越多,就说明表示的值的精度越高。 能够用有线位数来表示的例子啊,这两个例子很有意思啊, 你可以先消化一下,然后包括停下来看一看这个质量的话,那我们先先就假设你已经看过了,我们来来继续,能够用有限的位数来表, 是零点,我们用二进字的零点一一来表示零点七五,那为什么?因为我们相当于是这个零点一代表负一次方吗?二的二进二的负一次方,这是二的负二次方, 二的非常二分之一,也就是在十进制相当于零点五啊,这个呢相当于是四分之一了,就是零点二五, 在十进制,那么加起来就是零点七七五,所以这个零点一一,这是 r 负一次方,负二次方, 这是二进字,是这样的,十进字是零点七五,所以零点七五是可以用二进字来完美的表示的,但是你看这个呢,零点一呢,零点一你是表示不出来的,那零点一你 只能去无限的接近他,你可以这样写,但你但是你不能去去去去这个这个多少多少位次方呢?要一二三四啊,四次方呢,就是二的负四次方加上什么什么,相当于你是呃无限的去接近这个一啊,接近这个零点一, 可能最终根据精度的不同,他可能你可以到零点啊,零零九九九八,是吧?大概这个意思啊,这,但是你是不能完美的表现出零点一的用阿金字的方式,但是我们计算机里面呢,又都是阿金字啊。所以当你用 福典型的时候,比如说做复兴款的时候,千万千万不要说是什么通过福典型,比如加零点零零一,一直加到等于一的时候 你才退出。如果你写个写个这样的外耳循环的话,因为他永远都不会等一一的啊, 他可能会等于零点啊,比如说零点九九九九九九九九啊,到了下一次的话,他肯定就蹦到一点零零零零零零零零零一了,所以这个地方是一定要小心的,原因就出在这里面,像很多数字小数是不能用二 近视完美的表示的,都是一个近视,求出两点间的距离, 那我们先来画一下呗。啊,应该这个应该是很简单的,比如这个点到这个点,他的长度,他就会有一个坐标了, x 一啊, y 一,那这个坐标呢? x 二 y 二, 那么他求到这个距离这个距离,然后平方开个根号就可以了,把它开个根号,那这个是 如果按 x 轴算,那这两段的距离应该就是 x 一减掉 x 二,是吗? x 一减掉 x 二的平方, 那这个高度呢?那就是 y 一减掉 y 二了啊,加上 y 一减 y 二的平方啊。开根号开出来的话,就不是这个这个长度吗?应该是这样的,我们看看他是怎么做的。 man。 早,从入口我们开始分析两个点, x 一, y 一 xiy 二,然后打印求两点的距离啊。第一个点我们输入一个值啊,就是输入一个值,按照这个格式放到这, 这个找到这个地址,放到这个边上以来, x 一 y y 一 x r y 二,输入了四个值,然后他就给你算出来了啊,看他怎么算的, 把这四个值全当做参数,相当于是四个参数啊,四个参数,我们来看,穿进去以后,他干嘛 x 一减, 哦,他就是相当于是反向嘛,也是一样啊,反正这是平方嘛,谁减谁都一样啊。而且你到底哪个点 cx, 哪个点 cx 啊?无所谓的, x 减 c 乘以 x 减 c, 就是平方啊,对吧? 这个呢, y 二减 y 一, y 二减 y 一的平方,相当于这一部分了。给他开根号,这里面用到了一个函数,这个函数里面我们没有定义 啊,没有定义,你看他名字就知道这个就是平方,有开方啊,他开方开二十方 是来源于 max, 点 h, 我们也是监控号,只要你看到监控号就代表这肯定是 c 语言里面知道的了,那 c 语言提供了基本的数学函数来支持科学计算, 你可以把这个同文件你,你可以比如说右键点一下,然后请点打开看看里面有哪些。那 我们现在就相当于学了一个啊,这个是叫开开方啊,开开阿兹方,你把他需要填什么纸呢 啊?他需要填的是一个字,有他的参数,本身这个函数只接受一个字,就是我这个表达是算出来的 这个这个运算算出来这个字也就是 x 一减 x 二减 x 一的平方加上 y 二减万一的平方算出来的这个值,然后呢会进行一个开放的计算就返回了,所以这个返回的值是一个值,而且是 应该是一个 double 的值。你看我们这里面输入都是 double, 他这个返回的也是 double, 那 double 的话用百分套 f 就可以了, 以零点零一为单位,从零加到一点零。我们刚才说了,像这种东西在二进这里表示不了,所以一定会有误差,那误差多少呢?就看你的 x 值多少了,我们这里有没有定那个负点 x, 那这个东西精度比 double 比狼 double 可能还要差的好。我们执行的时候从零 每次加零点零一,那每一次加都会有误差,每次我们打印出来看一看,那全部都没有问题,一直到好像这个的地方,你看这个可能前面有问题,没仔细看啊,但这个地方肯定是和他 和我们想象的就开头有点不一样了,是吗?然后最后打印到他的时候就不打印了,因为我们这里面写的是小于等于一点零次后 他才会循环,那我们再往下呢,就超过了他,可能就是一点零零零零零多少了,对吧? 总之差的大于呢?下一次这个值已经大于一点零了,他所以就不不会再进行循环了。那这个地方如果我写成,如果我不知道这个误差,我写成不等于一点零的时候,你就需要再循环呢,他就会形成一个死循环。所以用小数进行哪家的时候一定要注意啊,不要让他等一 或者说不等于一个词啊,那这样子很危险的,那就是他退出不了的,他会是一个死循环。那么为了更好的理解他呢,我就用 选一个范围大的,精度高的东西,龙大宝来试一下,然后这里面我就给他啊,管他那么多呢,弄个二十个,请小数点后保留二十位啊,这里也是龙大宝,把它打印出来看一看,你就会发现后面这些值都是有的,是吧?这就是误差吗? 因为我选的是龙大宝,所以我这个误差就在很后面了,这和我这个误差就不一样了,对吧?你也可以,这里还是我这里还是写成 flow 特,对吧?还是用 flow 特, 然后这个地方呢?我也就在乎,你再看一看,那可能这个精度不一样,他可能这个出错的地方就出在出在这个地方啊,或者哪个地方,我们仔细看啊,这个可以自己大家试一试, 同样是以零点零一为单位,从零到一循环,用整数控制,然后看这个打印,最后打印到一点零了,这是为什么啊?看一下两个,一个是 is 用来复循环的,小一点一,他他, 然后我们每个 x 的时候就等于 i 除以一百啊,相当于是我们一百次吗?我们希望从零点零一一直打印到一点零,中间是一百次, 那这里面应该是一百零一次了,对,应该是一百零一次,因为还有一个包含零啊,这还有个零, 那因为我是用的是这种除法,所以你就算是有后面有误差,他不会累加,但我每次算的这个值和你中间的这个零点零一没有关系,是吧?我每次用的是 i 和一百 这两个词,他就不像你每次加零点零一,这样,每次这个误差就累加起来了,那这里面就不会,所以最终的话,我这种情况下我是会达到啊,达到打印到这个词的,但中间有没有误差呢?像这个词他就没有误差,但有些词肯定是有误差的。 同样的,你把这个地方,你比如说改成百分之号 f, 前面你加个点二十, 就这个点二十,你打印出来看看,有些子有误差,有些子没有误差,但是用这种方法他不会累加,但误差没有没有积累,你可以用这个方法来观察一下他细节的变化。 对辅点数进行多次加法加法运算,我们看看这要干什么?对辅点数进行多次 是加法运算,这打印出的一行,然后一个直,一个是加的次数,相当是一个乘法了,对吧?那我们对这个子加这么多次,就相当于乘了这么多次,结果得到这他啊,那这就是有误差引起的,这是误差的一个累积的效果, 你看他怎么做啊?这个零每一次都加加,你只要小于这个数,就可以相当于零到九万九千九百九十九啊,一共是十万次。 加了十万次以后,每次把这个 value 的值,这个 value 值是我们输入的这个值,也就是我们输入这个这个值零点零零一,然后加到我们的上面来。那每次加他一开始应该是零,第一次, 第一次打印的时候,我们看啊啊没有,没有打印,他中间不打印过程,那就最终只打印,打印这个最终的累计值就可以,然后最后把这个上打印他就可以。 那我们这个上面用的是 frote, 你也可以试一下啊。那个,呃,比如这里面你改成这些速度,你都改成 double, 你来试一下。但都改成 double 的时候, 值肯定不是这个值,因为他的误差就没有这么大了,他打印出来这个值就会比他小,可以试一下。

无论是单金度福点、 float 还是双点 double, 他们在二建制存储的时候都是由三个部分组成的符号,接和尾数,那我们来看看他们是怎么做的。那么我们的 float 是三十二位单金度福点, double 是六十四位双金度福点, 那么同样符号通常是一位。而在四字节的 float 和八字节的 double 当中,接的位数分别是八位和十一位,而尾数 float 二十三位, double 高达五十二位。 接下来我们来看一看如果遇到一个具体的数字 flowtop double 是如何来处理的。那么刚才我们既然设计到了三点一四派,那么就来看看三点一四是如何被放到这个二进制数据当中去的。其实这个过程并不复杂。好, 三点一四,三点一四,整数部分三,小数部分零点一四,三点二,建制码是零零幺幺,没有问题。幺四呢啊,如果你把它看作十进制数据十四的话,他的代码是幺幺幺零。难道三点一四就是把这两个二进制接拼起来就是三点一四二建制吗? 显然这是不可以的。怎么办?整数部分零零幺幺没有问题,关键是少数部分。 那么小数部分该怎么做呢?让我们知道小数部分采用连续的短乘法来完成十进制到二进制的转换。 首先将零点一四乘以二,注意只乘小数部分。当然了,零点一四也没有整数部分,乘以二的结果是零点二八。接下来将零点二八的小数部分再乘以二,注意只乘小数部分。零点二八的小数部 乘以二,得到零点五六。零点五六的少数部分再乘以二,得到一点一二,一点一二再乘以二,注意不要考虑整数部分一,而是把右边的零点一二乘以二,一直这样做下去, 一直这样做下去。好,我们会看到这个过程无穷无尽,无穷无尽。那么大家注意,基本上一个位数有限的十定制数字,除非非常巧合的情况下面他要变成二进制数字,通常都会变成一个无限的循环小数。 比如说这个数据现在在某一段上面就是循环的,在哪里循环呢?咱们仔细找找看。零点五六,注意第一个数字零点二八,第二个数字零点五六,找哪里又出现零点五六了?对,二十二四十二六十二都出现了零点五六, 所以这个数据的循环体长达二十位。当然不管这个数字喜不喜欢,我们只提取现在这个连续惩罚所得的整数图和 把整数部分提取出来,就是零点一四转成二,进至小数的结果。就我们来看,零点一四转成二,进至小数是零点多少呢?首先把第一个数据零点二八的零提出来, 然后再把零点五六的零提出来,接着把一点一二的一提出来,依次一个一个的放到我们的数据当中。 好,现在我们的小数部分已经转化完了,很显然这是一个无穷无尽的数据,然后再加上整数部分,整数部分三,也就是幺幺,把整数合进我们的小数部分,就像这样 好,于是这个数字三点一四转化成二级级小数,就是幺幺点零零幺零零零零幺幺幺幺零幺等等等等等等等等。 接下来要将这个数字写成二进制的科学技术法,二进制的科学就用法和十进制的科学技术法一样,移动一下少数点,然后往左移的话,每一位就乘以二的正的多少次方,那么往右移位,那么就会变成二 二的负的多少次方。原则是只要这个数字不是零,那么就在小数点的左边只保留一个一,也必须有一个一好的,那么这个数字很简单,小数点向左移一位,那么变成乘以二的一次方。 好,现在我们这个数据就可以放到四字节的 float 的数据当中去了。怎么放呢?我们来看看单精度福点四字节 float, 他是由一位的符号八位阶和二十三位尾数来组成的。首先看符号为 s, 符号为 s, 零表示正,一表示负和。想要这个数字是正的,所以 s 直接填上 零表示正数。接下来接的八位也就是这里的一。那么注意了,这里面存储接一,也就要存储二的一 次方的那个蓝色的依次方。那么依次方是直接放进一里面吗?不是的,按照规定,一必须加上了一百二十七,然后再存进这八位的一里面。至于有同学问,为什么是要加一百二十七呢? 嗯,这是一个固定的数字一百二十七,也就是这是单金度福田 float 的格式的要求,一定要加一百二十七,一百二十七就固定数字,如果是 double, 那就是加一零二三。好,一加上一百二十七等于一百二十八,一百二十八的二进制就是一 七个零,然后将这一七个零刚好八位放进我们的一当中去。由于几乎所有的二进制小数只要不是零,他的二进制科学技术法一定能写成一点多少多少乘以二的多少次方。对啊, 二进之数字不是零就是一。所以啊,在 iq 的标准辅点格式当中,小数点前面那个一根本就不存储,所以在这里我们不会将一点一零零一全部放入尾数 f, 而是将一点去掉,将点号后面的幺零零幺零零零幺幺幺放入。哎,好,当然在这里边我们先截断一下,先截出二十三位来,然后逐渐的将这二十三位放入我们的尾数 f, 分三组逐一放入。好,大家注意前面的一点多少是不放进去。好了,这就是我们三点一四用三十二位四字节谱点,单精度谱点来表达的结果。所以 如果在 c 加加当中写下代码 flowto x e 等于三点 s f 的时候,那么 x e 章中所纯属的数据就是这样子的。 那么注意,这 f 表示这是一个福点,单金度福点的字面常亮,而不是 double, 那么当然三点一四如果复制给 double, 那么在内存里边它是这个样子的。注意,它的 d 变成了十一位, f 变成了五十二位。

printf 输出 float 和 double 均使用百分号 f 转换说明书在 c 九九之后,增加了对百分号 l f 的支持。这里涉及到一个知识点,调用没声明的函数或者可变成参数。函数类型小于 int 的参数会转成 int 再传递, float 类型会转成 double 在传递。所以在 printf 内部只能看到 double 类型,不用区分是 float 还是 double。 字符常量是整形类型,而不是字符型。字符常量不仅可以表示阿斯 k 字符,也可以表示阿斯 k 之外的字符,比如汉字或者一个用力扣的字符。但是这些用法并不常见。 size 五不是函数,而是一个一元预算符,他在编译时计算对象所占内存字节数。 size 五后面是数据类型时,要加括号,后面是对象时,括号是可选的。叉、散的叉、安散的叉是三种不同的类型。叉是有符号还是无符号,取决于编译器的设定,这有别于整形的不指定符号,限定符即为有符号的 惯例。 c 标准并没有规定任何数据类型的大小,只是规定了 int 的表示范围要大于等于 salt, 小于等于浪。对于浮点数, double 的表示范围要大于等于 float, 小于等于浪。 double 比较常见的变化是 int, 可能是两个字节,也可能是四个字节, 可能是双精度,也可能是单精度。函数的参数列表不是变量声明,这样写是不符合标准的错误写法。

双精度浮点型与单精度数据类型 float 相似,但精确度比 float 高,编译时所占的内存空间依不同的编译器而有所不同。是 double float 数据类型 cc 加加中表示实行变量的一种变量类型。双精度型就是双精度浮点型,同数值型比,他能提供更高的数值精度。 采用固定存储长度的符点数形式,每个双精度符点型数据占八个字节。与数直行数据不同,它的小数点位置是由输入的数据值来决定的,并且只能用于表中的字段。

千万不要对和金额相关的资源使用 flow 的好的大不来进行存储和计算,要不然今天上线,明天老板就让你们滚蛋。 比如我们来求这三个商品的价格之和,正确的结果应该是十九点零五,而是程序运行出来的结果却是这个精度丢失了。正确的做法应该怎么做呢?就是使用这个的 cm 来进行处理,将商品的价格转成自付串,并传入构造参数,使用该类提供的方法来进行加减乘除就 ok 了。

不怕新人不会用大宝,就怕新人不会用贝克得罪某,相信很多做金融支付的人一定都有同感,贝克得罪某呢,这玩意虽然很好用,但是呢,也容易引发很多故障。很多人都知道,因为很多小数他没有办法用二进制精确的表示,所以大波和 flow 的这种浮点数其实都是近四指。 而贝克 dec 某呢,它可以精确地表示所有数字,所以那些涉及到金钱的场景,如果单位是分,大家都用浪,如果单位是圆,那大家都用贝克 dec 某。 但是如果你以为用了贝克 dec 猫就万事大吉了,那就大错特错了。首先呢,当我们 new 一个贝克 dec 猫的时候,我们要用字符串类型,而不能直接用符点数, 因为用一个不精确的数字创造出来的贝格底字母,它也是不精确的。其次,当我们想要比较两个贝格底字母的值是否相等的时候,比如说零点一和零点一零 不能用他的 ecose 方法,你要调用它的 compart two 方法,因为它的 ecose 方法不仅比较直的内容,还会比较它的标度,零点一的标度是一,零点一零的标度是二,所以 ecose 返回的结果是 false。 而 compartile 呢,它比较的是直,所以呢 会返回出。还有就是有的时候,如果我们把一个贝格得 c 某转化成自付串的话,用于前端展示的时候呢, tosri 这个方法也会有意想不到的结果,比如说得到的结果可能是三点一四一加三这种科学技术法的形式。而如果你真的只想得到一个简单的自付串,那么应该用 toprids dream 这个方法, 还有呢就是贝克 decimal 这个类型的数字,在数据库存储的时候呢,也需要使用 decimal 这个字段,否则也会丢失精度的。


同学们好,本节课我们来学习基本数据类型中的实行,而实行又称为辅点型,它有两种数据类型,一种是单经度 plot, 另外一种双经度 double。 那我们来详细的介绍一下,什么叫实行呢?就是带有小数部分的数据,我们就称为执行数据。那我们生活中有哪一些是实行?比如说零点五,或者是一点七,再或者是三点五, 这一类我们都可以归纳为实行。那实行我们又可以把它分为两种类型,第一种是弗洛特,他在电脑中占四个字节,有效数字是六至七位,也就说电脑能够识别的数字是六 六位或者是七位,一般我们记最大的,然后它的输入是百分号 f, 看到百分号 f 你就要想该数据类型为 单精度类型,输出格式也是百分号 f。 第二种类型是 double 型,双精度, 他在电脑中占八个字节,有效数字为十五到十六位,那我们重点记十六位,然后输入格式是百分号 lf, 那输出两者都可以。那另外你们还需要了解一下, 在这里呢,我没有特别的标注出来,就是 non double, 它是长双精度,因为我们这些数据类型都是以三十二位机为例,所以长双精度在我们的内存中 是用不上的,所以我们重点还是要了解 float 和 double 类型。了解完这两种数据类型后,我们需要注意什么呢?那有这以下三点一定要特别关注。第一,系统默认的实行小数位数是六位,若不足六位,电脑配零, 补足六位,也就说他必须达到六位,那不够怎么办呢?补零。第二,实行数,重点是看他的有效数字,在范围内, 电脑能够准确识别,若在范围外,电脑随机配。第三个,超过六位小数的实行数在 在有效数字范围内,它是采取四舍五入取值,四舍五入就是我们小学学过的,若在范围外,则直接舍去,若不足 五六位,剩余数位随机配数啊。这是我们重点介绍的一个注意事项,可能看文字理解不是很通透,那我们来看一下后面的两道例题。

好,接下来我们讲一下福典型。 好,关于福典型呢,他这个内存怎么表示?我们这次不是我们本次课的中心啊,然后呢,我们主要讲福典型该怎么去用, 让我们看一看。我在这给他画了个派啊,大家记不记得快福建群一个非常非常重要的特点是什么特点呢?他不精确,他是有误差的,不精确,整数是精确的, 一就是一,二就是二,三就是三,很精确,但是辅点数是不精确,有的时候老师怎么会不精确呢?啊?比如说我,我这有八个字节,八个字节不是可以表示二的二的六十四次方吗? 是不是?那我说表示,小处能继续表示吗?表示不了,比如说我要表示一个派, 二点六,二点六四方都不够,为什么呢?派是什么?是五里数,对吧?我都表示不了,这个理论上来讲,我都没法去通过。二点六四四方以后,二点六百六百四十四方以后,我都无法精确的表示一个派, 所以呢,大家注意,浮点出一个非常重要的特点是他是不精确。好,所以呢,他的表述范围可以非常非常非常大。来,我们看一看,在这呢,回到我们下面来 这张表啊,一个 flows, flows 呢是占用四个字节,大宝占用八个字节,但是大家注意哦,看看后面写的这个,这个呢,跟我们前面写的 不一样,三点四零三,后面是个 e 三八,这是什么意思呢?哦,这呢,说到一点,就是关于辅点数的一个表示方法, 实际制表示很简单,三点一四啊,三百一十四点零零点三幺四都可以表示。那一是什么意思呢?好科学技术法, 咱们中学应该都学过,比如说三点一四后面跟个一零,指的是三点一四乘以四点零次方 啊,比如我这个零点三幺四,我该怎么表示呢?三点一四乘以十的负一次高,相当于除以十嘛,那就变成零点三幺四了,所以呢,他这个半月是多少呢?是三点负三点四乘以十的三十八四高, 哎呦,相当的大,好吧,相当的大,那下面这个呢,大宝就更离谱了,一点 七乘以十的三百零八次方,那显然这个要比我们的二代的吧,六十四方要大了多了多好吧,甚至这个是三十八次方,都比这个二点六四方大, 但是他是不精确好不好,精确来表示不了那么多数据。然后在这呢来,我们一个个把重点重点说一下。现在咱们先说重点, 就又给大家总结了五条。第一条叫弗洛特,被称为单金度啊,尾数后七位有效数字。大宝呢,看这名字叫装备嘛,对不对?他的金都是佛罗特是两倍,称作双金度。我们大多数的时候用的时候呢,都使用的是大宝,我们一般都用大宝啊,福洛特用的会相对少一点, 那么福典型不精确啊,一般不要用于比较,他是有误差的。但是呢,对于我 一般做一些计算的话是足够的,除非你要去做一些精度非常高的商业计算。那这个时候呢,我们需要就不能使用福点了,我们需要用一个新的类,叫 big dancing, 那么大家注意这个呢,是扎尔提供的一个类。那还还是那句话,今天呢,是没必要去找这个, 大家先认识说,哎,我有这么一个单词叫 big dancing 啊,说服点型不进去,如果我要做商业运算,我可以用 big dancing, 万一有人问你啊,你这么说就可以了,至于这个类该怎么用,不用管他啊,不是,我们这四个重点, 还有一个福点,常量末日历险是 double 而不是 float 啊,要改成 flute 的话,后面加一个什么啊?加个 f 啊,比如我这儿定那个三点幺四,它默认的是 double 立行,而不是 float 好不好,就这样几个要点,那我们呢,接下来开始我们的 代码,通过代码来做这个测试,来写一个 test 啊, 然后用我们的 notepad 在这呢,也是一样的, plus loads numbing。 好,这我给你加个注视是吧?嗯,写什么呢?测试图点数的基本英文好,然后在这里边呢,没方法 update standing why the let me spin? 好,大家看看,我现在开始定义了,定义我们的福点,对吧? double 第一,三点幺四,这没有任何的问题好吧,没有任何的问题,好,这是一个普通的一个定义方法,比如说第二等于多少呢?啊?三点一四啊, e 二,这相当于什么呢?这是多学习书法是吧,我们可以打印一下它,它等于多少? 打印第二加二等于多少 啊?弗洛特,我这写错了,看到没有,这是个弗洛特,这个 l 应该是小写 mom drawer test, 不漏词不知道,大家看三百一十四点零啊,三点一四乘以一百吧,对吧?十点二次乘以一百。好,三百一十四,这是作曲技术法的一个写法好不好? 然后大家看,我要定义 flow 词啊,比如我定义一个 flow 团分一等于多少呢?一二六五,朋友们看定义他以后呢,这个会不会有问题?来 变异很,大家看不错了,为什么呢?十一行就是我们这一行, 有错,什么错呢?不兼容的类型,从 double 转化为 float 啊,可能有损失,什么意思呢?大家看,在这呢,一点六五,就我们这个整呃福点的一个长量呢,默认的是 double 类型, 咱们回过头来看看那个整数整数,我们这不是也也有这个类型吗?比如我写个三万,他们说是什么呢?是印特类型,是不是如果我要把它转为浪的话,后面需要加个 l, 这也是一样,他默认是 double 类型,默认你现在把 double 呢放这里边放不下是吧?那怎么办呢?加个 f, 好吧,所以呢,就是古典常亮的默认类型是 double, 改 flood 改 vlog, 需要我们加 f, 这是我们刚刚加的,明白,好,然后继续走,嗯,继续往下。还有个比如说刚刚说的补点柱是不精确的,哎, 尽量啊,不要直接比较。比如说我这有一个福点数 flotflot 呢,等于多少呢? f 二, 然后等于这个零点一, f 零点一是吧,然后再定一个 w, 对吧? 等于第三等于多少呢?一点零除以什么?看到没有?这个算出来也是个零点一,然后我们进行比较,他俩 相不相等,这呢我们就得两个等于号,大家注意,一个等于号呢,就是一个等于号,是复职 啊,两个这个这个呢是比较好,那我们看看它反过来是吐还是 false, 正眼看 false。 哎,从我们数学,从我们呃小学学的数学的时候,我们知道零点一,零点一肯定相等啊, boss 看到没有?当然这里边有,呃,就是说一定要记住啊,尽量不要做这种比较啊,有可能你会掉坑里面,当然不是每次都掉啊,有可能会掉啊,比如说我再定一个这个 很大的一个处 float 啊,比如说 f 四啊,东北 f 四,比如说二百三十四啊,后面二百三十四亿吧, 然后我再定一个 f 五啊,等于多少呢? f 四加一啊,一个月挣二百三十四亿,天天给你涨一块的工资哈,一块涨了一块钱的工资,然后, 然后我们看 f 四等于 f 五还是不相等,然后 第一个是 false, 对吧?刚刚这个比较辣,按照我们的理解应该是处,可是他是 false, 是不是?然后这个这个呢?按照我们的理解,哎呀,这个是 对吧?这是一个整数,把它付给了这个福点数, f 四目前的福点数,是不是?目前是福点数?福点数,这呢给他加了个一, 按理说就不一样了,对吧?我挣二百三十四亿一个月,然后呢?后来加了一块钱呢,就二百三十一四亿零一块,但是不一样的数,可是大家可以看到,看他们俩相当发,他返回就是他妈了,哎,又给我们想的不一样了, 是吧?所以呢,这给大家说的意思是什么呢?尽量的这种,呃,尽量不要用于这种什么啊?这种比较好不好?尽量不要用于比较, 呃,如果说一定要用特别精确的这种呃的话,大家记得用这个 begadesim 啊,普通的比较呢,尽量不要用。

那么前面呢是一个双引号,因为我们定义的是印特型,也就是整数形,这个时候呢,我们不知道这个值是多少,我们需要输入的对不对?那么我们就用百分之二 d 来替代啊,这样书写下来呢,百分之二 d, 我们输入的这个值就可以负值给变量 a 了, 第二个摆放号 d 就可以复制给变量 b 了。我们来看一下 flow 的,行吧,定义两个符,典型数据 ab 啊, skyf, 一样的啊,一样的 double 型,注意啊,这里的 double 型替代的符号是 l, f 啊,其他的都是一样的,拆尔型,自伏型啊,也是一样的,用百分之二 c, 大家把这个格式记住就可以了,先把英文单词书写出来, s, c, n, f 啊,小括号,然后里面分为两部分 啊,后半部分呢是我们的变量,有几个写几个,前面呢,有几个变量,你就用相应的符号去替代啊,就可以了。最后呢,不要忘了用分号做结尾。 我们来看一个程序的实力吧,编程练习,输入一个大写字母,可以输出一个小写字母,那么从题干当中我们就可以知道,他要求我们有一个输入型的语句,有一个输出型的语句。 好,我们把先把程序的这个固定格式写出来啊,前半部分,后半部分。那么定义两个变量 chila 和 b 啊,先用一个 prinf 语句呢,把这个题目呢先写一下,这样看的比较清楚啊, 做一个提示吧,请输入大写字母,那么后面呢是我们的 skf 渔具,因为我们要输入一些东西,对不对?要求 我们输入一个大写字母,那么我们用百万 c 来代替啊,定义的变量是 a 啊,前面加上 c 个码,后面呢用方号做。结束 之前我们已经学过了一个字母呢,一个字符啊,加减一些数字,可以得到另外一个字母或者字符,所以这里啊,我们给他一个计算式, b 等于 a 加三十二,那么这个时候再用一个输出语句啊,把我们的小写字母输出出来就可以了, 看一下这个输出语句怎么写的啊?因为有两个变量吗?你要输入一个变量,还有一个输出的变量,这两个变量我们都不知道是什么 啊,但是呢,我们需要用一个字符呢,给他替代啊,你把百分之二 c 写在这里就可以了,后面跟着的两个变量。 然后呢程序结束,我们看一下运行结果,前面的输出语句请输入大写字母,是我们的提示,那我们把大写字母从键 盘上写出来,比如说写一个大写字母 b 啊,那么这里呢,他就会提示 b 的小写字母是小写字母 b 啊。程序结束, 好,接下来我们看两个函数,一个是 get the chair, 一个是 put the chair, 他呢是作为输入型来使用的,他是作为输出来使用的。 呃,这两个知识点呢,不需要作为重点,在考试的时候,你们看到他知道他是什么意思就行了。我来简单介绍一下。首先呢,定一个变量 c 一 作为一个输入型函数吗?我们定一个自负型的 c 一,那么你要输这个 c 一的时候,直接让他等于 他加上一个小括号就可以了,那么当你输出的时候,就用他加上一个小括号,里面呢写上你要 输出的数据就可以了,最后呢,他作为一个输出型数据,加上一个斜盖加 n, 用分号结尾啊,其实非常简单,大家在考试的时候见到知道是什么意思就可以了,不作为重点啊。 那么看一下第七节在 c 语言常用的数学函数及其用法,因为我们的 c 语言当中呢,常常涉及到一些计算啊,可能呢需要用到一些数学函数来去计算一些公式, 这里呢,我做了一个列表,函数是什么,它的功能是什么?然后它的使用方法是什么?比如说我们定一个变量整数形的印台 x, 要求这个整数形的绝对值, 那么怎么怎么用这个函数呢?直接把这个函数的名声写出来。 abs 小括号里面呢,把你的边量写进去,它自动就可以求出来了。在我们书写这个 函数格式的时候注意了,在 include 和 intermill 中间呢,加一个这个东西,大家把它记住就可以了好吗?红色的部分直接把它加进去就可以了。 我们用个例子来说明吧,我们给出三角形三个边 abc 的长度啊,利用公式,这个艾瑞亚,对吧,也就是面积公式啊,求他,然后呢求这个三角形的面积。艾瑞亚, 那这里的我们需要输入的就是 abc, 对吧?有个输入型数据 abc, 那么 s 呢,我们也给出了一个公式,那么直接利用公式求艾瑞亚就可以了。我们来看看这个题怎么做的吧, 因为他不一定都是整数,还有可能是伏点型,所以这里我们把变量定义为 w 型啊, abcs, 艾瑞亚,首先 abc 你要作为输入型数据啊,我们 要有一个 skyf 语句, abc 三个变量,那么前面我们用三个 lf 来代替啊,之前我们已经讲过了, 最后呢,我们先看一下有一个输出型的语句,就是把这个,哎呀,输出出来,他是我们要求的变量嘛,对不对? 那么 s 是什么我们已经知道了, s 等于 abc 啊,它的和除以二。那么要我们求的呢,就是这个艾瑞尔的公式啊,那我们看一下它的平方根是怎么求的, 看下前面的例子啊,在这里求 x 平方根,用 sqrt 这个函数, sqrt 把 x 放进去就可以了。 那么本题来说,我们的 x 是什么呢? sqrt, 我们的 x 就是这个根号里面的内容, s 小括号,小括号,小括号, s 减 a, s 减 b 和 s 减 c, 我们只要把这部分内容放进来, 他的函数就可以自动来求出来啊,程序就可以自动来计算了。我这里呢做了一个标识, sq r, t, x, x 就是这个内容啊,需要你们记住的就是把这个内容直接放进来就可以了啊。第二一个就是在书写这个格式的时候,中间不要忘记加这个内容, 英克陆的啊, mace 点 h, 不要忘记加他就可以了。你想调用哪个函数 啊?你想调用哪个函数就直接看一下他的用法,把你定义的变量,需要的变量直接放进来就可以了啊,其实非常简单的,我们也不作为重点,大家呢,在这个书写程序的时候,只要看到知道是怎么回事 就可以了啊,能看懂就行了。 好,我们看一下第二个题吧,都写了一个例子啊,利用公式,他求出他的两个根,并由这个 abc 呢,由键盘输入啊,这里还给了一个条件, 好,我们看一下吧,固定格式依然是把这个写出来啊,定义的变量是 abc, x 一 x 二啊, abc 由键盘输入嘛,所以这里我们有一个输入型的语句,对不对?前面用 lf 代替啊,那么利用公式求他的这个 两个根,那么之前我们要用还是要用到这个函数,那么把 x 所代表的内容写进来 啊,就是 b 乘以 b 减去四乘以 a 乘 c, 之后呢,有一个 x 一和 x 二的数学式的计算啊。 最后呢,我们把 x 一和 x 二输出出来就可以了,其实也是非常简单的啊,大家只要是仔细看一下都能看明白。 好,我们再来介绍一个吧,假如蓝老师的粉丝年增长率是百分之十啊,请利用公式, p 等于他计算十年后蓝老师的粉丝是多少,那么今年呢,与今年相比增长了多少?这里我把这个函数列出来了,也就是求 x 的 ythme 啊,两个变量, xy pow, 这个函数小括号里面只要把 xy 逗号写出来就可以了,一样的格式,不要忘记了啊,英克路的。然后定义三个变量, wmp r 等于多少 对不对?我增长率是零点一啊,也就是百分之十,年数呢,是十年啊,这里我们求下 p 对吧, p 等于多少呢?一加 r 啊,一个 n 对吧,这也就是代表的我们的 xy 的值,那么再把这个 p 输出出来就可以了,程序结束啊,最后 p 是二点五九。好,我们总结一下吧, 本节的重点呢,有几个字符啊,每一个字符都代表着什么意思?主要应用到的是百分之二 c 是输出型字符啊,百分之二 d 是十斤之数,百分之二 f 是福典型 啊,也就是 flow 才对应的大部呢,是对应的 l f 型。好,本科结束,谢谢大家。