黑马程序员技术交流社区

标题: 关于基本数据类型的问题? [打印本页]

作者: 黄昆    时间: 2012-7-10 09:10
标题: 关于基本数据类型的问题?
int和float都是四个字节,为什么int和float的存储范围却不相同呢?求解释
作者: 曹恒业    时间: 2012-7-10 09:34
数据float表示-3.4E+38~3.4E+38
数据int的取值范围只有-214783648~214783647

因为他们的存储格式不一样,float型的二进制位里面有一部分表示幂数,这就好比一个是普通计数法(int)一个是科学计数法(float)一样,科学计数法总是能用更少的文字表示更大的范围,多一个零只需要增加一次幂就可以了。不过建议你能使用Int和long的时候尽量不要使用float,因为一味的使用float会导致程序效率和质量降低。
作者: 万宝东    时间: 2012-7-10 09:45
虽然他们都是4字节32位,但是他们每一位表示的东西不一样
int四个字节32位中的右边31位都用来装数据,左边最高为是符号位。所以就是,-2的31次方到2的31次方减1
float:1bit(符号位) 8bits(指数位) 23bits(尾数位),所以float的指数范围为-127~+128,所以float的范围为-2^128 ~ +2^128,也即-3.40E+38 ~ +3.40E+38;
作者: 朱东方    时间: 2012-7-10 13:11
万宝东 发表于 2012-7-10 09:45
虽然他们都是4字节32位,但是他们每一位表示的东西不一样
int四个字节32位中的右边31位都用来装数据,左边 ...

学习了。 哥们再详细的说下别的数据类型呗。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2