CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

请教两个小问题!

楼主javafarmer(javafarmer)2005-06-03 08:56:06 在 Java / J2SE / 基础类 提问

1,long型在内存中占8个字节,float占4个字节,  
        为什么long   x=2;   float   y=x;   成立?8个字节可以赋值给4个字节吗?而且还没有强制转化?  
   
  2,^异或逻辑运算符的用法,哪位老兄可以写个例子体现出异或的特点和用法? 问题点数:0、回复次数:3Top

1 楼steedhorse(晨星)回复于 2005-06-03 09:11:36 得分 0

(1)long到float,不会损失数值的大小。只会损失精度。  
  (2)比如  
  byte   a   =   5;  
  byte   b   =   6;  
  由于5的二进制是:00000101,6的二进制是:00000110。  
  按位异或(每一位的结果相同为0,不同为1)的结果是:  
      00000101  
  ^   00000110  
  ----------  
      00000011  
  所以   a   ^   b   ==   3。Top

2 楼Dan1980()回复于 2005-06-03 09:15:01 得分 0

^异或不是逻辑运算符,   是位运算符(bitwise   operator).Top

3 楼yin_slin(一生找北)回复于 2005-06-03 09:19:16 得分 0

long   x=2;   float   y=x;  
  事实上float表示数的范围比long大多了。而且上述语句是做过转化的,只不过是自动转化。  
  下面是数据类型由低到高的转化关系:  
  byte,short,char   -->   int   -->   long   -->   float   -->   double  
   
  long的表示范围:-2(63)---2(63)-1   而float   :   3.4e(-038)---3.4e(+038)Top

相关问题

  • 两个小问题
  • 两个小问题!!!!
  • 两个小问题。。。
  • 两个小问题.
  • 两个小问题?
  • 两个小问题
  • 两个小问题
  • 两个小问题?
  • 两个小问题
  • ◎◎◎◎◎◎◎◎◎◎◎◎两个小问题◎◎◎◎◎◎◎

关键词

  • 转化
  • 异或
  • 运算符
  • float
  • long
  • byte

得分解答快速导航

  • 帖主:javafarmer

相关链接

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

广告也精彩

反馈

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