为啥C语言中float型变量的数据范围比int大
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥C语言中float型变量的数据范围比int大相关的知识,希望对你有一定的参考价值。
主要有如下三个区别:
1、表示的数据范围不同。C语言中的int变量通常的表示范围为-2147483648~2147483647,也就是-2^31到2^31之间。而-3.4E+38 ~ 3.4E+38则是float类型表示的数据范围。float表示的数据范围要大于int表示的数据范围。
2、变量赋值方法不同。C语言中,将i设定为一个int变量并赋值的方法为:int i=xx;,其中xx为一个整数,例如3、4、5,不可以是小数。将i设定为一个float变量的方法为:float i=yy;,其中yy为一个浮点型数,可以带上小数点,例如3.0、4.5、5.7等等。
3、字节构成不同。int和float类型在计算机中都占4个字节,但是float类型的4个字节构成为包括一个符号位、一个8位二进制指数和一个23位尾数,而int类型的4个字节构成全部为整数。
参考技术A 浮点数的本质是采用科学计数法,所以表示范围能够扩大很多倍,付出的代价是牺牲了精度,精度变成动态的了、与数值大小成正比。以上是关于为啥C语言中float型变量的数据范围比int大的主要内容,如果未能解决你的问题,请参考以下文章