码迷,mamicode.com
首页 > 其他好文 > 详细

类型转换

时间:2019-03-29 17:24:26      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:取值   har   小数   eee   color   类型转换   字节   表示范围   浮点数   

自动类型转换

低 ---------------------------------------------> 高
byte,short,char-> int -> long -> float -> double

强制类型转换

高----------------------------------------------> 低

double->float->long->int->byte,short,int

需要特别注意的是虽然long占8字节,float占4字节,但是long到float无需强制转换。

这是因为float类型是按照IEEE浮点标准进行存储的:

第1位,符号位,即S

接下来8位,指数域,即E。

剩下23位,小数域,即M,取值范围为[1 ,2 ) 或[0 , 1)

然后按照公式计算: V=(-1)^s * M * 2^E

也就是说浮点数在内存中的32位不是简单地转换为十进制,而是通过公式计算得来,虽然float型数据只有4个字节,但浮点数表示范围要比长整型的范围要大。

类型转换

标签:取值   har   小数   eee   color   类型转换   字节   表示范围   浮点数   

原文地址:https://www.cnblogs.com/CKhomepage/p/10622536.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!