请问一下,编写c语言程序的时候什么时候用int 什么时候用float double类型的函数??

 我来答
syht2000
高粉答主

2018-10-11 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部

你要先知道不同类型的取值范围

char -128 ~ +127 (1 Byte)
short -32767 ~ + 32768 (2 Bytes)
unsigned short 0 ~ 65536 (2 Bytes)
int -2147483648 ~ +2147483647 (4 Bytes)
unsigned int 0 ~ 4294967295 (4 Bytes)
long == int
long long -9223372036854775808 ~ +9223372036854775807 (8 Bytes)
double 1.7 * 10^308 (8 Bytes)
unsigned int 0~4294967295 
long long的最大值:9223372036854775807
long long的最小值:-9223372036854775808
unsigned long long的最大值:1844674407370955161
__int64的最大值:9223372036854775807
__int64的最小值:-9223372036854775808
unsigned __int64的最大值:18446744073709551615

float与double的不同

类型   比特数    有效数字 数值范围 
float   32     6-7    -3.4*10(-38)~3.4*10(38) 
double   64    15-16   -1.7*10(-308)~1.7*10(308) 
long double 128 18-19 -1.2*10(-4932)~1.2*10(4932)

在实际使用中,你按照你自己的值的可能范围去选择合适的类型,比如说你有一个数字,整数,最大50000,那按上面的表,当然是不能用short,可以用int或者unsigned short,double与float一样,有效数字不同,如果你有小数是0.123456789,数字位有10位,那用float来表示的话,结果就会变成0.123457,后面三位都被四舍五入了

深邃还勤快丶便当7657
2018-10-11 · TA获得超过687个赞
知道大有可为答主
回答量:2388
采纳率:14%
帮助的人:298万
展开全部
这个区别还是有的,short int 16位,int 32位 ; long 如果64为系统的话,就是64位; float为单精度; double为双精度;就是二者的精度值不一样,要求精度高的话,就用double好了;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式