清风看海 2011-03-28 15:28
浏览 231
已采纳

java的类型转换问题

请问一下,在java中,long的大小是8字节,float的大小是4字节,8字节的long怎么就可以隐式的转换为4字节float的呢?

  • 写回答

4条回答 默认 最新

  • turing-complete 2011-03-28 19:54
    关注

    这都说了些什么!

    这不误人子弟嘛

    兄弟,是这个样子的:由于浮点数的存储机制与定点不同,使得它能表示的数的范围大大扩展了,举个例子 [code="java"]float i=2345000000000L;[/code]

    对这个数而言,4字节的int类型是指定存不下的,但是单精度浮点数是可以的。纵使是单精度,它也是浮点数,可表示数的范围-2^127~2^127折合十进制-1.7*10^38~1.7*10^38 , 瘦死的骆驼比马大。 long 可表示的数的范围还不足10^20,那你说可不可以自动转型 ?!

    为什么同样是四个字节,float这么厉害? 那还要long干什么 ?

    切记:使用浮点型的时候,要注意它的“有效数字”(强调一下),单精度为7位,7位以后的皆不可信了。 它牺牲的是 有效数字的位数!数的范围是足够了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 Python程序,深度学习,有偿私
  • ¥15 扫描枪扫条形码出现问题
  • ¥15 poi合并多个word成一个新word,原word中横版没了.
  • ¥15 【火车头采集器】搜狐娱乐这种列表页网址,怎么采集?
  • ¥15 求MCSCANX 帮助
  • ¥15 机器学习训练相关模型
  • ¥15 Todesk 远程写代码 anaconda jupyter python3
  • ¥15 我的R语言提示去除连锁不平衡时clump_data报错,图片以下所示,卡了好几天了,苦恼不知道如何解决,有人帮我看看怎么解决吗?
  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开