CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

有个关于基本类型的疑点问下高手,求救啊

楼主Patrick_DK(我有我的调调,就是这么屌)2001-12-07 20:33:47 在 Java / J2SE / 基础类 提问

      float   f=1.0;  
        因为可能损失精度,编译不通过  
        float   f=1.0f;  
        从默认的double转换为float型,编译通过  
         
  以上理解没有错的话,那么为什么  
      float   f=-1;  
      和  
      float   f=0x0123;  
      也能编译通过呢?  
   
  能讲下理由吗?  
  问题点数:10、回复次数:4Top

1 楼hahaha88(忧郁的眼神,稀嘘的胡子喳)回复于 2001-12-08 01:50:04 得分 2

大概是因为:  
  f=1.0       这个1.0是double,double->float是要损失精度的  
  f=1           这个1是int,   int->float是可以的Top

2 楼cherami(cherami)回复于 2001-12-08 10:47:12 得分 4

楼上的说得很对,虽然从类型所占的位数上int和float是一样的,但是由于它们的表示数的方法不同,float能表示的范围更大,所以float的精度更高,因此这是一个将低精度数赋值给高精度的过程,不会有精度损失,可以编译通过。Top

3 楼Patrick_DK(我有我的调调,就是这么屌)回复于 2001-12-08 14:18:13 得分 2

哦,明白了,不过没想到基本类型的转换这么麻烦.  
  再去看看<程序员>11期上的蔡学庸专栏吧,听说那里好像讲到了  
   
  一般来讲,是不是记住基本类型所占的位数,以及所表示的范围,就不会弄错了啊?Top

4 楼cherami(cherami)回复于 2001-12-09 23:29:53 得分 2

是的,java的基本数据类型在任何系统上的大小都是相同的。Top

相关问题

  • 类型转换的基本问题
  • 问个基本的字符类型问题!
  • 求Class.forName(基本类型)
  • 高手请进:对比Java,对C#基本数据类型和系统类型的疑问(如, int 和 System.Int32)
  • TIniFile类疑点提问, 请教
  • 基本数据类型有FILE型吗?
  • string是不是基本数据类型?
  • 关于基本类型和包装类型
  • 求教一个基本的问题,Access数据库中备注类型,SQL数据库中text类型能装多少字?解决马上给分!
  • 问Variant类型

关键词

  • 编译
  • 精度
  • 类型
  • 基本
  • float
  • 损失
  • 表示
  • double

得分解答快速导航

  • 帖主:Patrick_DK
  • hahaha88
  • cherami
  • Patrick_DK
  • cherami

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo