栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

合理的变量类型的重要性

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

合理的变量类型的重要性

在C语言中定义恰当的变量类型是十分重要的,其重要性包括一下几方面

  1. 影响逻辑的正确性,不合理的数据类型可能导致数据内容丢失,例如使用了unsigned char 类型存储了unsigned int 变量的值。
  2. 影响存储空间的大小,char ,int ,long ,float,double 类型占用的空间不同,如果在一个资源紧张的51 系统上都定义的int 类型的变量,甚至log 型变量。可能导致RAM 空间紧张。
  3. 影响程序的执行效率。如果把int 类型的算术运算就可以完成的操作错误的用成了有float 类型或者double 类型的参与的运算,则执行效率会大打折扣。

第2,3点可能在PC 系统不用考虑,但在嵌入式系统中则显得比较重要,需要引起大家足够的重视。

对于第一点很多同志能够引起重视,因为不重视的话软件会可能因为bug 跑不起来。对于第2,3点可能部分同志还没有认识到,以下将借助一个简单的例子来看看实际的情况。

Code 1:

 这段程序编译出来的大小是5288.

我们稍作修改,将output = output/1.8;   --->output = output/1.8f;

编译之后,程序大小为4452 字节。

为什么有836 字节的差异,这是因为在实例代码除1.8 的操作默认当作了double 类型变量进行了处理,因此程序调用了double 类型的库函数。修改后在1.8 后加了f 类型的声明,将1.8 处理为float 类型的变量,程序会调用float 类型的函数库。

这两个库在运算时间及占用空间方面均存在较大差异,如下所示:

 所以在满足精度的情况下,少用double 类型的变量,尽量使用float 类型的变量,在合适的位置加上float 类型的声明。

有兴趣的同志可以研究下float 类型和double 在占用时间上差异,相信你会印象深刻。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1001240.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号