网易首页 > 网易号 > 正文 申请入驻

C语言第9课:简述C语言中的“浮点类型”,了解浮点类型的精度误差

0
分享至

在这一节课当中,我们来了解一下在C语言中的“浮点类型”,并且通过一段程序来了解在C语言中的浮点类型存在的“误差”现象。

在C语言中,浮点类型又可以再分为“单精度浮点类型”,也就是float;以及“双精度浮点类型”,也就是double。浮点类型在外形上,看起来和数学中的“小数”很类似,但是却是和数学中的小数是有区别的。这种区别主要是体现在两个方面:

第一个方面:在C语言中的浮点型是有边界的,double类型所表示的小数数值和精度范围都要比float大,但是再怎么大,总之是有界限的,而数学中的小数就不一样了,在数学中,可以表示无穷无尽的数值大小和精度范围。

第二个方面:在C语言中的浮点类型,存在一定程度上的“误差”。比方说:99.999这个数字,在数学中就是“99.999”,连一个符号都不会多,一个符号都不会少。但是在C语言中,使用float类型的变量存储这个数,如果我们使用“printf”这个函数,在屏幕上输出这样一个小数,会看到并不是完全显示“99.999”,而是存在一定的误差。

我们通过下面这一段代码,来看一下在C语言中,浮点类型的这一特点,代码如下图所示:

上图中的这段代码,运行之后的效果如下图所示:

我们通过这个运行的结果可以看出,对于99.999这个小数,double类型的变量(num2)就没有出现误差,但是float类型的变量(num1)表示99.999这个数字,就显示出了误差(多出了0.000001)。

可以得出两个结论:1.在C语言中,浮点数存在一定程度的误差;2.double类型的变量,里面存储的数值,要比float类型的变量存储的数值范围广。

接下来,我们再来看这样一段代码:

上述这段代码中,在第5行定义了一个float型的变量num1,在第6行定义了一个double型的变量num2,里面都存储着圆周率,精确到小数点后面的14位。

在第8行和第9行,分别输出了这两个变量里面的值,最终程序运行的效果,如下图所示:

我们可以看到这个程序的运行结果,num1是存在误差的。因为float类型的变量,存储不了太多的精度。这个现象也说明了一个道理:在C语言中的浮点数,和数学中的小数相比,是存在“边界”的,不能超过数值的最大精度和范围。

我们在使用C语言中的浮点类型的时候,一定要有一个印象,就是存在一定程度的“误差”,它和整型不太一样。

我们再来看如下这样一段代码,还有一个知识点我们也要了解一下,就是“浮点型”和“整型”之间的计算问题。代码如下图所示:

上述这段代码中,在第5行定义了float类型变量num1,在第6行中定义了float类型变量num2,但是在第5行和第6行,等号右边的(1/3和1.0/3),在C语言中是不一样的,尽管在数学上1和1.0是一样,但是在C语言中,一个是表示(int)类型,另一个是表示(double)类型。上述这段代码最终的运行效果,如下图所示:

可以看到:num1由于接收的是两个int类型数字的运算,结果并不是数学中的0.333333这个数字。1除以3,在C语言中,结果是一个整数0,这也是C语言和数学不一样的一个地方。

截止到目前为止,我们已经了解了C语言中的基本数据类型:整型字符型浮点型。在后面的课程中,我们就来了解“运算符”相关的概念了。

这一节课我们就暂时先讲解到这里,我们下一节课再见!

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
91分钟绝杀封神!西班牙零封再创神迹,609分钟刷新足坛纪录

91分钟绝杀封神!西班牙零封再创神迹,609分钟刷新足坛纪录

索朗的故事
2026-07-10 12:38:57
跌破千亿!MiniMax为何惨败至此?

跌破千亿!MiniMax为何惨败至此?

功夫财经
2026-07-10 08:30:11
广西宾阳一养猪场被淹数千头死猪漂浮水面?当地回应:属实,正在处置

广西宾阳一养猪场被淹数千头死猪漂浮水面?当地回应:属实,正在处置

上游新闻
2026-07-09 11:21:13
超强台风“巴威”已闭眼!登陆区域锁定:最大可能在掠过或登陆台湾岛后,于福建福清到浙江温岭一带沿海登陆;浙江将有暴雨大暴雨特大暴雨

超强台风“巴威”已闭眼!登陆区域锁定:最大可能在掠过或登陆台湾岛后,于福建福清到浙江温岭一带沿海登陆;浙江将有暴雨大暴雨特大暴雨

都市快报橙柿互动
2026-07-09 19:29:01
村民在养猪场附近挖出石刻佛首无偿上交,汾阳市博物馆最新回应:馆藏北齐佛立像疑似对应佛首,将依据鉴定结果表彰村民,并向村委会送锦旗

村民在养猪场附近挖出石刻佛首无偿上交,汾阳市博物馆最新回应:馆藏北齐佛立像疑似对应佛首,将依据鉴定结果表彰村民,并向村委会送锦旗

极目新闻
2026-07-10 01:20:44
正在逼近的社会怪象:老人多了1300万,养老院却迎来了成片倒闭潮

正在逼近的社会怪象:老人多了1300万,养老院却迎来了成片倒闭潮

云景侃记
2026-07-10 11:37:40
乌克兰F16首次击落俄军苏35战机!炸毁别尔哥罗德大桥

乌克兰F16首次击落俄军苏35战机!炸毁别尔哥罗德大桥

项鹏飞
2026-07-09 20:45:36
已有3场中超确定延期:浙江vs海牛、三镇vs河南、津门虎vs铁人

已有3场中超确定延期:浙江vs海牛、三镇vs河南、津门虎vs铁人

懂球帝
2026-07-10 11:44:05
宁愿用科内,也不用琼阿梅尼,法国在世界杯选择持续进攻

宁愿用科内,也不用琼阿梅尼,法国在世界杯选择持续进攻

章民解说体育
2026-07-10 07:27:00
蒋利春任中共简阳市委书记

蒋利春任中共简阳市委书记

掌上金牛
2026-07-10 11:41:06
原来他不是资源咖,演了《主角》演短剧,长相帅气,却戏红人不红

原来他不是资源咖,演了《主角》演短剧,长相帅气,却戏红人不红

芬霏剧时光
2026-07-09 12:58:05
周星驰新片《功夫女足》定档7月11日,周杰伦已确认献唱主题曲

周星驰新片《功夫女足》定档7月11日,周杰伦已确认献唱主题曲

小椰的奶奶
2026-07-09 18:38:39
1975年,重病垂危的蒋介石向北京发来电报,毛主席是如何回应的?

1975年,重病垂危的蒋介石向北京发来电报,毛主席是如何回应的?

棠棣分享
2026-07-05 01:24:42
温网太刺激了:随着秋斯秋克0-2出局,女单决赛对阵出炉

温网太刺激了:随着秋斯秋克0-2出局,女单决赛对阵出炉

侧身凌空斩
2026-07-10 05:36:41
这跟不穿有啥区别?明星巴黎看秀,真空上阵、下衣消失,个个大胆

这跟不穿有啥区别?明星巴黎看秀,真空上阵、下衣消失,个个大胆

小鋭有话说
2026-07-08 21:56:27
被老公兄弟偷亲那秒,我浑身冰凉,他红着眼笑:瞒1825天,不忍了

被老公兄弟偷亲那秒,我浑身冰凉,他红着眼笑:瞒1825天,不忍了

真实人物采访
2026-07-09 12:15:08
伊朗空军出动战机!挂弹护送哈梅内伊遗体回国

伊朗空军出动战机!挂弹护送哈梅内伊遗体回国

看看新闻Knews
2026-07-10 12:13:26
马科斯一心扳倒老杜家族,却没料到中国突然出手,给了他致命一击

马科斯一心扳倒老杜家族,却没料到中国突然出手,给了他致命一击

秋枫凋零
2026-07-09 11:34:41
蒯曼始料未及,孙颖莎拿下美国大满贯冠军仅两天,两大重磅消息出炉,重塑国乒局势!

蒯曼始料未及,孙颖莎拿下美国大满贯冠军仅两天,两大重磅消息出炉,重塑国乒局势!

漫川舟船
2026-07-10 12:04:03
1956年,郭沫若强行挖掘“明十三陵”定陵,各种意外事故令人震惊

1956年,郭沫若强行挖掘“明十三陵”定陵,各种意外事故令人震惊

文史道
2024-07-23 23:46:54
2026-07-10 13:31:00
编程知识分享
编程知识分享
每天学一点编程知识
11文章数 145关注度
往期回顾 全部

科技要闻

GPT-5.6中档模型封神,最贵版尴尬翻车

头条要闻

男子寻母熬成人父:我妈在露天的花坛被风吹日晒了28年

头条要闻

男子寻母熬成人父:我妈在露天的花坛被风吹日晒了28年

体育要闻

法国VS摩洛哥:谁才是臭外地的?

娱乐要闻

S妈回应大S遗产卡余额不足42万

财经要闻

一年狂敛22亿,巨额财富成特朗普负资产

汽车要闻

悦己更悦人 阿维塔07L加长了更加上了豪华

态度原创

健康
游戏
家居
房产
公开课

三高、肥胖人群能吃粘食吗?

索尼PS第一方《声名狼藉2》线上停服!白金奖杯绝版

家居要闻

2026建博会(广州) 公装联探展交流活动

房产要闻

神级户型来了!西派国际88㎡能做到2+1房 全海口没对手

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版