浮点数是什么(c语言浮点数表示规则)
大家好,我是梁唐。
今天是EasyC专题第7篇,浮点数类型。
访问github仓库:EasyLeetCode,欢迎star,欢迎pr浮点数
浮点数是C的第二组基本类型,它能够表示带小数部分的数字。不仅如此,浮点数的范围也比int更大,可以表示更大范围的数字。
我们都知道在计算机当中,所有数据本质上都是转化成二进制存储的。整数很简单,存储的就是转化成二进制之后的01串,那么浮点数又是如何存储的呢?
很容易猜到的是浮点数存储的结果也是二进制,但相比于整型直接转化成二进制要复杂一些。它需要先表示成下面这行式子:
这里的n即我们要存储的浮点数,s表示符号位,m是尾数,而e则是阶数。
符号位很好理解,它和整型当中的符号位一样,0表示正数,1表示负数。m表示尾数,
。我们这么看很抽象,来看一个例子,比如3。0,转化成二进制是(11。0),相当于
1。121。那么,s1,m1。1,e1。
我们了解了浮点数的表示方式,那么它又是如何存储在计算机当中的呢?这需要我们进一步地剖析其中的细节。关于m
首先是m,m被定义成一个大于等于1,小于2的小数。我们可以简单写成1。xx,其中xx表示的就是小数的部分。
既然它总是大于等于1,小于2的,那么它的个位一定是1,我们就可以将它省略,仅仅看之后小数的部分。小数的部分,我们同样使用二进制来逼近。比如0。625,可以表示成0。50。125,即2123,表示成二进制就是101,只不过这里它的最高位是从1开始的。
以32位的浮点数为例,除去1位表示符号,8位表示阶数之后,还有23位留给m。由于我们舍掉了小数点之前的1,所以我们的阶数是从1开始的,理论上等价于24个二进制位。关于e
在浮点数存储当中,e是一个无符号整数。以32位浮点数为例,e一共有8位,可以表示0255。
但e是可以为负数的,根据IEEE754的规定,e的真实值必须再减去一个中间数。对于8位的e,它的中间数是127。比如e的实际值是10,但是存储的时候需要存储成12710137。
除此之外,e还有另外三种情况:e不全为0,或全为1时,采用上述的规则表示e全为0时,e等于1127,有效数字m不再默认加上1,这样是为了还原0。xxx的小数,以及接近于0的数e全为1时,如果有效数字m全为0,表示无穷大,如果m不全为0,表示nan(notanumber)
关于e的规则看起来有些复杂,初看觉得有些难以理解,为什么要用减去中间值的设计,而不用符号位?后来仔细思考了一下才发现,如果引入符号位很难区分0。xxx以及e就是等于0的情况,虽然也可以特判处理,但就没有现在这样优雅了。
觉得上文看不懂的小伙伴可以直接略过这段,毕竟这个是浮点数的实现原理,算是很底层的内容了,Cprimer上对于这部分也没有过多阐述。浮点数的使用
C当中有两种浮点数的书写方式,第一种是使用常规的小数点表示法:doublea1。23;floatb3。43;
另外一种写法是科学记数法,写成:doublea2。45e8;doubleb1e7;
2。45e8表示2。45108,e之后可以跟正数也可以跟负数,但数字当中不能有空格。浮点数类型
和C语言一样,C也有三种浮点数类型:float,double和longdouble。和整型一样,这三种类型都是浮点数,只不过表示的范围不同。
浮点数的范围有两个部分综合决定,一个部分是有效数字。比如14179是5位有效数字,而14000只有两位,因为后面三个0都是填充位,有效数字的位数不依赖小数点的位置。C当中要求,float通常能表示7位有效数字,double通常能有16位,而longdouble至少和double一样。
另外,它们能够表达的指数范围至少是37到37。一般来说,float一共是4个字节32位,而double是8个字节64位,当然这也取决于具体的运行环境。注意事项
关于浮点数的使用有几点注意事项,千万要注意。cout输出浮点数会删除结尾的0书写浮点数常量时默认为double类型,如果需要强制表示为float类型,请在结尾加上后缀f或者F,如:2。34f由于浮点数有精度,不能直接判断两个浮点数是否相等,很有可能得不到预期结果,正确的做法是判断精度范围,如:doubleepsilon1e8;判断a是否和b相等if(abs(ab)
主板检测卡代码(主板检测卡代码大全)主板检测卡代码(主板检测卡代码大全)一般来说代码FF00C0D0CFF1或什么也没有表示CPU没通过C1C6C3D3D4D6D8B0A7E1表示内存不过242526010A0B2A
catia如何装配(catia装配体移动固定距离)2018年新春佳节即将来临,为回馈广大坛友们,我们精心准备了一系列机械行业软件教学视频,喜欢能帮到坛友们。今天要给坛友们分享的软件教程是Catia,他爸还是那个法国达索公司,还有一
接触器的作用(交流接触器的用途?)接触器的作用(交流接触器的用途?)交流接触器是电力拖动和自动控制系统中应用最普遍的一种低压控制电器。作为执行元件,用于接通分断线路或频繁的控制电动机等设备运行。由动静主触头,灭弧罩
什么钢笔最好(顶级钢笔品牌)前言要说知名的钢笔厂商,龙鸟派犀水是历史上最为出名的五家欧美大牌,百乐白金写乐则是日本品牌的核心代表。市场认可他们的表象原因是打动消费者们的出色产品,而更深层次的原因是品牌独家技术
毕加索钢笔怎么样(中国最好的钢笔品牌排行榜)宝可梦作为一款现象级IP,陪伴了一代又一代人长大,那个用软糯的声音说着Pikapikaqiu的宠物小精灵早已成为数亿人的团宠,是无数9000后心尖上的宝贝。它们不仅活跃在游戏影视动
钢笔哪个品牌好(全球十大名牌钢笔)当我们有了打印机就抛弃了圆珠笔,当我们用上了圆珠笔就将钢笔尘封。作为最为经典的办公文具,钢笔给一代又一代人留下了深刻印象,甚至在国际社会中,仍有不少具有历史意义的文件还是使用钢笔签
小额贷款哪里最可靠的有哪几家(小额贷款哪个平台最正规)生活中会经常出现资金周转不开的情况,相比传统贷款,小额贷款更方便,但是也会有一些人担心小额贷款的安全问题,今天小编就给大家推荐一款十分安全,正规靠谱的小额贷款微粒贷,正规银行产品,
正规的贷款公司有哪几家(贷款公司有哪几家)上图都是正规的银行贷款,都是比较容易获得额度的。交行好享贷只要持卡人征信没问题基本都会出额度,一般是信用卡额度的两倍。交行比较看重持卡人的风险值度贡献值三个方面,多做标准类费率的交
罗贯中是哪个朝代的(施耐庵和罗贯中是哪个朝代的)一部三国演义让罗贯中青史留名。罗贯中的本名叫罗本,贯中是他的字,他的父亲早逝,继母没多久也随即嫁给别人,这样的家庭变故改变了他的一生,也让他火红了六百多年。这场家庭变故也让罗贯中偶
无负压供水设备的原理(无负压供水设备工作原理及安装必知常识)无负压供水设备的原理(无负压供水设备工作原理及安装必知常识)无负压供水设备工作原理1变频恒压供水当市政管网供水量大于用户用水量时,稳罐式无负压供水设备变频恒压供水,此时稳罐中存储一
变频器原理图(图解变频器的结构原理)变频器原理图(图解变频器的结构原理)可以简单的说,交交变频器需要使用太多元件,不好控制,而交直交使用的元件少,控制简单,所以目前大多使用交直交结构的变频器。1变频器的发展也同样要经
哪个医院治疗男科好(南阳仁爱医院好吗)关于看病你最关心什么问题?当然是技术了,不管得病大小,谁都想找最好的,找最权威的医院,最权威的专家看病。对于妇科产科儿科和不孕症医院,在咱河南省,最专业最权威的当然要数郑州大学第三
帕拉丁上衣选什么技能(阿拉德之怒天谕肩最强散搭)我是喜爱各类游戏攻略者柴犬。如果您觉得这篇文章感兴趣,请务必我,您的对我非常重要。有任何想说的都可以在评论中告诉我,我将尽可能抽时间回复,如果能转发一下就更好了,我将更有动力给大家
琅琊怎么读(琅琊榜是什么意思)近几年的古装电视剧不少,但其中却有不少剧名难倒了观众,现在就来看一下这几部剧名,你第一次看到的时候都认出来了吗?天乩之白蛇传说中的乩字你认出来了吗?相信很多人都把这个字读成了zha
楚乔是哪个朝代的(琅琊榜朝代)根据潇湘冬儿11处特工皇妃所改编的楚乔传终于在6月5号隆重开播了。故事中讲述了楚乔努力改变命运,在艰难困苦中磨砺成长,最终蜕变为一个女将军的故事。女主人公楚乔是个奴隶之身,她命如草
哪个朝代最早(最早的朝代的皇帝顺序)最全的中国历史朝代顺序及时间表朝代起讫统治都城今地开国皇帝末代皇帝历代皇帝列表夏朝前21461675471年安邑山西夏县大禹夏桀夏朝皇帝列表及简介商朝前16751029646年亳河
同济是哪里(同济大学属于哪个街道)2021年4月10日,同济大学疫苗接种点迎来启动后的第一个周末接种高峰。同济体育馆内外,趁着休息日前来接种的师生排起了长队。接种点可容纳60人同时接种,一小时接种量达到1200人。
路桥是哪里的(台州路桥属于镇还是县)浙江收入这么高吗,不可思议,以前说的三桥,柯桥路桥还有是不是虹桥?路桥区,印象中开眼镜店的多,今年数据第一位,厉害了。路桥区属台州市,位于浙江中国黄金海岸中段,应该渔业也比较发达吧
西丽是哪个区(西丽街道社区)曾经,城中村给人的印象是有点脏,有点乱,不通燃气现在,开始变了在南山区西丽街道新围村一项民心工程让居民暖到心坎里1月15日,在深圳市南山区西丽街道新围社区文化广场,西丽街道新围社区
共和新路属于哪个区(平型关路属于哪个区)共和新路3795弄小区共和新路3795弄小区位于静安区彭浦内,建成于1996年,由上海宝辰置业有限公司建造完成,佳禾物业管理有限公司代为管理。小区概况小区整体已有24年楼龄,整体楼
说说奶瓶清洗剂有必要买吗近日有关于奶瓶清洗剂有必要买吗的问题受到了很多网友们的关注,大多数网友都想要知道网友们需要奶瓶清洗剂有必要买吗问题的具体情况,那么关于到网友们需要奶瓶清洗剂有必要买吗问题的相关信息
说说奶瓶刷有必要买吗近日有关于奶瓶刷有必要买吗的问题受到了很多网友们的关注,大多数网友都想要知道网友们需要奶瓶刷有必要买吗问题的具体情况,那么关于到网友们需要奶瓶刷有必要买吗问题的相关信息,小编也是在